Testing Your Integration
Checklist
- Ensure that your webhook URL and webhook verification key has been set on the Merchant Dashboard for the sandbox environment. See Guide
- Ensure that your IP address(es) has been whitelisted on the Merchant Dashboard for the sandbox environment.
- Ensure there's sufficient balance in your wallet before initiating a payout.
- If you get a wallet not found error when making payout in a specific currency, kindly login to the Merchant Dashboard, switch
Test ModetoONand navigate toAccount->Wallet-> (Select Business) -> Select the currency from the Currency dropdown to enable the wallet.
To ensure your integration is working correctly before going live, use the following test cases and simulation endpoints in the sandbox environment.
NGN Payin (Bank Transfer)
In the sandbox environment, you can manually trigger a successful payment notification to your webhook URL by calling the simulation endpoints below.
Simulate Dynamic Account Payment
Use this to simulate a payment made to a temporary, transaction-specific virtual account.
POST http://core-sandbox.payonus.com/api/v1/fund-ngn-account
Headers:
- Accept: application/json
- Content-Type: application/json
- Authorization: Bearer {token}
Body:
{
"onusReference": "{{onus_reference}}",
"accountNumber": "{{dynamic_account_number}}",
"amount": 10000,
"paymentStatus": "SUCCESSFUL",
"forDynamicAccount": true
}
Notes:
- The
onusReference,accountNumberandamountshould match the details of the dynamic account payment. - The
paymentStatuscould either beSUCCESSFULorFAILED.
Simulate Fixed Account Payment
Use this to simulate a payment made to a permanent virtual account assigned to a customer.
POST http://core-sandbox.payonus.com/api/v1/fund-ngn-account
Headers:
- Accept: application/json
- Content-Type: application/json
- Authorization: Bearer {token}
Body:
{
"onusReference": "ONUS-NUB-{{random_string}}",
"accountNumber": "{{fixed_account_number}}",
"amount": 10000,
"paymentStatus": "SUCCESSFUL",
"forDynamicAccount": false
}
Notes:
- The
accountNumbershould match the account number of the generated fixed account. - The
paymentStatuscan only beSUCCESSFULandforDynamicAccountmust be set tofalse.
NGN Payout (Transfer Simulations)
To test various transaction outcomes, use the specific account numbers listed below. These numbers will return a valid Name Enquiry response and trigger the corresponding transfer status.
| Sender Account Number | Expected Transfer Status |
|---|---|
9999991111 |
PROCESSING |
9999991112 |
SUCCESSFUL |
9999991113 |
UNKNOWN_ERROR |
9999991114 |
INVALID_ACCOUNT |
9999991115 |
DUPLICATE_TRANSACTION |
9999991116 |
UNKNOWN_ERROR |
9999991117 |
INSUFFICIENT_FUNDS |
9999991118 |
ACCOUNT_NAME_MISMATCH |
9999991119 |
TRANSACTION_NOT_PERMITTED_TO_SENDER |
9999991120 |
INVALID_AMOUNT |
9999991121 |
INVALID_BANK_CODE |
9999991122 |
INVALID_REQUEST |
Mobile Money
For other African regions, use the following test data to simulate transaction flows.
GHS (Ghana)
- Network: MTN
- Test Phone Number:
0240000003
KES (Kenya)
- Network: M-Pesa
- Test Phone Number:
234700000000
ZAR (South Africa)
- Requirement: No specific test number required.
- Behavior: A successful notification will be sent automatically upon an attempted transaction.
Card Testing
For card payment testing, please check here