{"version":1,"pages":[{"id":"w27YFP6zfY2e9fPcnzB4","title":"Introduction","pathname":"/","siteSpaceId":"sitesp_pZTyV","description":"The DusuPay platform enables merchants (businesses and online platforms) to process payments across multiple payment options. The document describes the current version of the API."},{"id":"6EulHkiWtpe5mnzsIkMp","title":"Registration","pathname":"/getting-started/registration","siteSpaceId":"sitesp_pZTyV","description":"Any entity interested in the DusuPay  API needs to register and fulfil the compliance/KYC requirements before they are granted access to the platform.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"J8wlefYnL3ZJxYDmLZWz","title":"Error Handling","pathname":"/getting-started/error-handling","siteSpaceId":"sitesp_pZTyV","description":"The DusuPay API uses HTTP status codes to indicate the success or failure of the API requests. The section describes the summary of these codes and what they mean in our context.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"BWmgx4QkCais7YvPw9Ha","title":"Authentication","pathname":"/getting-started/authentication","siteSpaceId":"sitesp_pZTyV","description":"The DusuPay API uses a key pair (Public and Secret Keys) for authentication. To make an authenticated request to our API, you need to pass custom headers as described in this section.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"8XVOdyWm2uNfLNUEEnwn","title":"Merchant Account Credentials","pathname":"/getting-started/merchant-account-credentials","siteSpaceId":"sitesp_pZTyV","description":"For every approved merchant account, a set of credentials is automatically generated and stored on the record. This section describes how the merchant can manage credentials after the account creation","breadcrumbs":[{"label":"Getting Started"}]},{"id":"Wa2N8q7PKYtcGz2XNHc3","title":"Generate Secret Key","pathname":"/getting-started/merchant-account-credentials/generate-secret-key","siteSpaceId":"sitesp_pZTyV","description":"The section below describes (with screenshots) how to generate and store a new secret key. The process assumes that you're already logged in to the merchant dashboard.","breadcrumbs":[{"label":"Getting Started"},{"label":"Merchant Account Credentials"}]},{"id":"OXheYU893mMDDLzs3jyQ","title":"Regenerate Security Keys","pathname":"/getting-started/merchant-account-credentials/regenerate-security-keys","siteSpaceId":"sitesp_pZTyV","description":"The section below describes (with screenshots) how to generate a new set of security keys. The process assumes that you're already logged in to the merchant dashboard.","breadcrumbs":[{"label":"Getting Started"},{"label":"Merchant Account Credentials"}]},{"id":"sacSaYdBudUYinecmHzr","title":"Supported Countries/Regions","pathname":"/getting-started/supported-countries-regions","siteSpaceId":"sitesp_pZTyV","description":"The DusuPay platform supports a wide variety of payment methods, transaction types and currencies across a number of countries or regions. Merchant accounts will be enabled for only what they request.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"kSoaI3OrVYUJGsh4XBCf","title":"Transaction Limits","pathname":"/getting-started/transaction-limits","siteSpaceId":"sitesp_pZTyV","description":"For some of the transaction currencies that DusuPay supports, there are limits that control what a single transaction account is able to do per transaction and in a 24hr period.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"7Ei5rMzadsMa4DDypLOo","title":"Sandbox Test Accounts","pathname":"/getting-started/sandbox-test-accounts","siteSpaceId":"sitesp_pZTyV","description":"The table below describes the test account numbers that can be used for tests on the sandbox to simulate transactions. Two scenarios (success and failure) can be simulated based on the account number.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"nFua3sw3bFqejaEatcsR","title":"DusuPay Public Keys","pathname":"/getting-started/dusupay-public-keys","siteSpaceId":"sitesp_pZTyV","description":"This section shares the two public keys used by DusuPay for the two environments (Sandbox and Production). The keys can be copied and stored as files to later be used in transaction processing.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"2r6bnW9Kwi4A5g2XMIAS","title":"Balance Inquiry","pathname":"/utility-functions/balance-inquiry","siteSpaceId":"sitesp_pZTyV","description":"The API allows the merchant to check the balance(s) for the different currencies they might hold.","breadcrumbs":[{"label":"Utility Functions"}]},{"id":"E8qh5wAQIPuCQxEHFHxg","title":"Payment Options","pathname":"/utility-functions/payment-options","siteSpaceId":"sitesp_pZTyV","description":"Before any transaction request is performed, it's recommended that the payment options available to the merchant account are known. This endpoint returns that list.","breadcrumbs":[{"label":"Utility Functions"}]},{"id":"PNEenOXxCdc7b4E7AFjA","title":"Payout Bank Codes","pathname":"/utility-functions/payout-bank-codes","siteSpaceId":"sitesp_pZTyV","description":"For all countries/currencies where DusuPay supports bank payouts, there's need to specify the unique code for the bank to which the funds are to be sent. These codes are available via the API","breadcrumbs":[{"label":"Utility Functions"}]},{"id":"SfbtkQiAsIcOx3GtZ3aP","title":"Mobile Money Operator Prefixes","pathname":"/utility-functions/mobile-money-operator-prefixes","siteSpaceId":"sitesp_pZTyV","description":"All the telecoms that provide the mobile money options to DusuPay have different prefixes that identify the mobile money numbers. These prefixes usually come right after the international country code","breadcrumbs":[{"label":"Utility Functions"}]},{"id":"mw6nqs4NHiBOx8AvohV1","title":"Handling Notifications/Callbacks","pathname":"/utility-functions/handling-notifications-callbacks","siteSpaceId":"sitesp_pZTyV","description":"Whenever the status of the transaction changes (to processing, failure or success), we notify your service via callbacks. Below are the hints to take note of as regards these payment notifications.","breadcrumbs":[{"label":"Utility Functions"}]},{"id":"wfBHuWyyr5i5uZsVBwOe","title":"Callback Events","pathname":"/utility-functions/handling-notifications-callbacks/callback-events","siteSpaceId":"sitesp_pZTyV","description":"Every callback payload has a parameter named event and its purpose is to communicate the reason for the callback. The section below describes the various values the parameter can take.","breadcrumbs":[{"label":"Utility Functions"},{"label":"Handling Notifications/Callbacks"}]},{"id":"q6UW9GQUDvxKUp8ai093","title":"Transaction Status Verification","pathname":"/utility-functions/transaction-status-verification","siteSpaceId":"sitesp_pZTyV","description":"In some situations, the merchant account might to confirm the status of the transaction. This document resource describes the process of retrieving the transaction details (status inclusive)","breadcrumbs":[{"label":"Utility Functions"}]},{"id":"oIwPtHN5YxEe4a0U5aCk","title":"Getting Started","pathname":"/funds-collection/getting-started","siteSpaceId":"sitesp_pZTyV","description":"Collections are payments that the merchant receives into their account. The sections here will highlight how the DusuPay platform supports these.","breadcrumbs":[{"label":"Funds Collection"}]},{"id":"nQoXnlQg2Z0W3GbWN8lU","title":"Mobile Money Collection","pathname":"/funds-collection/mobile-money-collection","siteSpaceId":"sitesp_pZTyV","description":"The DusuPay API supports mobile money as described in the Supported Countries section. The API allows for direct charge or making use of the hosted page that's powered by DusuPay (recommended).","breadcrumbs":[{"label":"Funds Collection"}]},{"id":"fYOpn6LuhxLuIyJ4WUSM","title":"Mobile Money - Direct Charge","pathname":"/funds-collection/mobile-money-collection/mobile-money-direct-charge","siteSpaceId":"sitesp_pZTyV","description":"This is one of the ways to process payments using Mobile Money. The section below will guide you through the process of accepting Mobile Money using the direct API method.","breadcrumbs":[{"label":"Funds Collection"},{"label":"Mobile Money Collection"}]},{"id":"UkLTa97XzLtAa45EUPFg","title":"Mobile Money - Hosted Page","pathname":"/funds-collection/mobile-money-collection/mobile-money-hosted-page","siteSpaceId":"sitesp_pZTyV","description":"The hosted page workflow is the other way of accepting Mobile Money payments. The merchant initiates a request and in response is given a URL to which the user is redirected to complete the payment","breadcrumbs":[{"label":"Funds Collection"},{"label":"Mobile Money Collection"}]},{"id":"w9f2oYG484AbHwAGT83e","title":"NGN Bank Transfers","pathname":"/funds-collection/ngn-bank-transfers","siteSpaceId":"sitesp_pZTyV","description":"The DusuPay API supports for funds collections from NGN bank accounts. Customers complete payments by transferring funds to a specified bank account. The guide describes the two supported modes","breadcrumbs":[{"label":"Funds Collection"}]},{"id":"tM7m4EmrKXO97W0JthOo","title":"NGN Bank Transfers - Direct Charge","pathname":"/funds-collection/ngn-bank-transfers/ngn-bank-transfers-direct-charge","siteSpaceId":"sitesp_pZTyV","description":"This is one of the ways to process NGN payments using bank transfers. The section below will guide you through the process of accepting NGN payments using the direct API method.","breadcrumbs":[{"label":"Funds Collection"},{"label":"NGN Bank Transfers"}]},{"id":"H8s6vW7NWSXPieu0nXf6","title":"NGN Bank Transfers - Hosted Page","pathname":"/funds-collection/ngn-bank-transfers/ngn-bank-transfers-hosted-page","siteSpaceId":"sitesp_pZTyV","description":"The hosted page workflow is the other way of accepting NGN bank payments. The merchant initiates a request and in response is given a URL to which the user is redirected to complete the payment","breadcrumbs":[{"label":"Funds Collection"},{"label":"NGN Bank Transfers"}]},{"id":"FyY18W6hHXGS7ryT7CyO","title":"ZAR Bank Collections","pathname":"/funds-collection/zar-bank-collections","siteSpaceId":"sitesp_pZTyV","description":"ZAR bank EFT transactions are supported on the DusuPay API. The customer is redirected to the payment URL and there, they're allowed to log into their online banking and complete the transaction.","breadcrumbs":[{"label":"Funds Collection"}]},{"id":"dfB6woA5cFDooiBWWvmA","title":"Card Payments","pathname":"/funds-collection/card-payments","siteSpaceId":"sitesp_pZTyV","description":"The DusuPay API supports card payment as described in the Supported Countries section. The API allows for direct charge (sending card details directly) or the hosted page that's powered by DusuPay.","breadcrumbs":[{"label":"Funds Collection"}]},{"id":"s8hbS5CmD233e2C7DWYz","title":"Hosted Payment Page","pathname":"/funds-collection/card-payments/hosted-payment-page","siteSpaceId":"sitesp_pZTyV","description":"The hosted page workflow is our recommended way of accepting card payments. The merchant initiates a request and in response is given a URL to which the user is redirected to complete the payment.","breadcrumbs":[{"label":"Funds Collection"},{"label":"Card Payments"}]},{"id":"W3dZsy7UL1A8bEB7Ukql","title":"Direct Card Payment (S2S)","pathname":"/funds-collection/card-payments/direct-card-payment-s2s","siteSpaceId":"sitesp_pZTyV","description":"Another way to accept card payments is by using our server-to-server workflow. The detailed guide below will show you how to successfully charge cards on DusuPay using our APIs.","breadcrumbs":[{"label":"Funds Collection"},{"label":"Card Payments"}]},{"id":"nzTGPJEOhVR59MpCX6Ji","title":"Getting Started","pathname":"/payouts-disbursements/getting-started","siteSpaceId":"sitesp_pZTyV","description":"Payouts, also sometimes called Disbursements, are outbound fund transfers from your merchant account to supported mobile money channels or bank accounts.","breadcrumbs":[{"label":"Payouts/Disbursements"}]},{"id":"rPL7TuZ3rLZmHIH8TSmC","title":"Mobile Money Payouts","pathname":"/payouts-disbursements/mobile-money-payouts","siteSpaceId":"sitesp_pZTyV","description":"The DusuPay API enables you to transfer funds directly from your available balance to a mobile money account. The documentation below explains further.","breadcrumbs":[{"label":"Payouts/Disbursements"}]},{"id":"e9fOp5O5OmoUClPJ5tn8","title":"Bank Account Transfers","pathname":"/payouts-disbursements/bank-account-transfers","siteSpaceId":"sitesp_pZTyV","description":"Send money quickly to different bank accounts across multiple supported countries with DusuPay. The document below explains further.","breadcrumbs":[{"label":"Payouts/Disbursements"}]},{"id":"mBSeeMxzjBAGPehaIDuN","title":"HMAC Signature Verification","pathname":"/callbacks/hmac-signature-verification","siteSpaceId":"sitesp_pZTyV","description":"The section describes how the HMAC signature sent in the callback header OR in the redirect data can be verified","breadcrumbs":[{"label":"Callbacks"}]},{"id":"ql6UH9G9LNRDzv0wXgcJ","title":"RSA Signature Verification","pathname":"/callbacks/rsa-signature-verification","siteSpaceId":"sitesp_pZTyV","description":"The section describes how the RSA signature sent in the callback header can be verified. The signature is generated using RSA Signing. For verification to succeed, the public key is required.","breadcrumbs":[{"label":"Callbacks"}]},{"id":"GyGk8hIFxb6tWTF5OIZy","title":"API Reference","pathname":"/appendix/api-reference","siteSpaceId":"sitesp_pZTyV","description":"","breadcrumbs":[{"label":"Appendix"}]},{"id":"ZVnNa979uivuVZH1YIxH","title":"Merchant Account Transfers","pathname":"/appendix/merchant-account-transfers","siteSpaceId":"sitesp_pZTyV","description":"The process of Merchant Account Transfers involves the movement of funds from one merchant Account (From Account) to another  Merchant Account (To Account). Here are the steps;-","breadcrumbs":[{"label":"Appendix"}]},{"id":"PoyPkuOyx2jKtCZu67zh","title":"Availing Payout Funds","pathname":"/appendix/availing-payout-funds","siteSpaceId":"sitesp_pZTyV","description":"Some merchants wish that collected funds can be used for processing payouts/disbursements. This section what the merchant needs to do to avail balance for handling payouts","breadcrumbs":[{"label":"Appendix"}]},{"id":"zjhrYw3oeY6Ph89cjA3V","title":"Sub Account Transfers","pathname":"/appendix/sub-account-transfers","siteSpaceId":"sitesp_pZTyV","description":"Merchants holding more than one balance are allowed the ability to transfer funds between currency wallets. The section below describes the steps.","breadcrumbs":[{"label":"Appendix"}]},{"id":"eNtTN9vH0FzkCP1AQFxS","title":"Funds Settlement","pathname":"/appendix/funds-settlement","siteSpaceId":"sitesp_pZTyV","description":"Some merchants wish that collected fund can be settled every so often. This section describes how the merchant can initiate a funds settlement request to the finance team for handling.","breadcrumbs":[{"label":"Appendix"}]},{"id":"9fhHnryGTzubnghkG5uV","title":"Transaction Audit Logs","pathname":"/appendix/transaction-audit-logs","siteSpaceId":"sitesp_pZTyV","description":"This section describes the detailed description of how a given transaction was handled on the platform until it received a final status.","breadcrumbs":[{"label":"Appendix"}]},{"id":"rypSnYRjwoCJuBM88JqI","title":"Cross Currency Transactions","pathname":"/appendix/cross-currency-transactions","siteSpaceId":"sitesp_pZTyV","description":"The DusuPay API allows for cross currency transactions whereby the request currency does not match the currency of the selected payment option. The platform handles the conversion appropriately.","breadcrumbs":[{"label":"Appendix"}]}]}