Cards
Below are card details to use to make a mock payment. To ensure accurate testing, please select the appropriate test card based on the authorization model (PIN, 3DS, AVS, and NoAuth) required for your card transaction. Each card triggers a specific authorization flow, essential for replicating the different direct card charge scenarios.Successful Payments
Here is a list of cards to simulate a successful payment.Failed Payments
Here is a list of cards to simulate a failed payment.Testing Payment on Checkout
To properly render checkout on your local environment, you’d need to route your app tolocalhost:<preferred-port>, e.g. localhost:3000. Pointing your app to an ip address e.g. 127.0.0.1:3000 would result in errors.
Credentials are listed in the card and mobile money sections to help you test your checkout integration.
OTPs
Any OTP passed in test transactions will pass validation. However, you can use these special OTPs to mock specific error scenarios:- WRONG OTP:
5548 - INSUFFICIENT FUNDS:
6648
These special OTPs will only work (simulate failed payments) when the OTP validation happens directly in our payment modal. If you are redirected to our OTP validation page, you’ll need to use one of the test cards designated for failed payments.
Bank Accounts
Bank account details to use to make a mock payment.Testing TipIf you need more Access Bank test account numbers, you can keep incrementing the last digit of the test account numbers above to get new test account numbers, right up to
0690000041.Mobile Money
Successful Payments
To mock a successful mobile money payment, you can use any mobile number and the OTP123456.
Failed Payments
You can make mocked failed transactions for your integration tests using any of the following numbers below. Update the country code of each number to match the code of your customer’s number.Testing Apple Pay or Google Pay
When testing Apple Pay and Google Pay transactions, You can mock successful and failed transactions by appending the appropriate suffix to your transaction reference.-
To mock a successful transaction: Make sure your reference ends with
_success_mock(for example,"dfs23fhr7ntg0293039_success_mock"). -
To mock a failed transaction: Make sure your reference ends with
_failed_mock(for example,"dfs23fhr7ntg0293039_failed_mock").
Testing Transfers
When testing a transfer, you can use any of our provided test accounts. By default, such transfers will always remain in aPENDING state. You can force transfers to behave differently by using a special kind of transaction reference when creating the transfer.
- To mock a successful transfer: Make sure your reference ends with
_PMCK(for example,"dfs23fhr7ntg0293039_PMCK"). - To mock a failed transfer: Make sure your reference ends with
_PMCK_ST_F(for example,"dfs23fhr7ntg0293039_PMCK_ST_F").
By default, the status of the mocked transfer will only be updated after 10 minutes.
- To change the time delay: append
DU_{minutes}to your transaction reference.
-
A transfer with a
referenceof"dfs23fhr7ntg0293039_PMCK"will succeed after 10 minutes. -
A transfer with a
referenceof"dfs23fhr7ntg0293039_PMCKDU_1"will succeed after 1 minute. -
A transfer with a
referenceof"dfs23fhr7ntg0293039_PMCK_ST_F"will fail after 10 minutes. -
A transfer with a
referenceof"dfs23fhr7ntg0293039_PMCK_ST_FDU_1"will fail after 1 minute.
Bill Payments
Here are some credentials to help you test some billersDSTV TestThe Biller type for making mock DSTV payments is
DSTV Payment