Testing
When integrating a payment gateway, you'll need to test your implementation before going live. We've got test credentials for you to test a variety of use cases and allow you to simulate both successful and failed scenarios.
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 scenerios.
Successful payments
Use these cards if you want the payment to succeed.
Type | Network | Card number | Expiry | CVV | OTP | PIN |
---|---|---|---|---|---|---|
PIN authentication | MasterCard | 5531886652142950 | 09/32 | 564 | 12345 | 3310 |
3DS authentication | MasterCard | 5438898014560229 | 10/31 | 564 | 12345 | 3310 |
3DS authentication | Visa | 4187427415564246 | 09/32 | 828 | 12345 | 3310 |
PIN authentication | Verve | 5061460410120223210 | 10/31 | 780 | 12345 | 3310 |
Noauth | Verve | 5061460166976054667 | 10/29 | 564 | - | 3310 |
Address Verification (AVS) | Visa | 4556052704172643 | 09/32 | 899 | 12345 | 3310 |
Pre-authorization Test Card | MasterCard | 5377283645077450 | 09/31 | 789 | - | 3310 |
3DS authentication | AMEX (US) | 340614670471041 | 10/31 | 564 | 12345 | 3310 |
Noauth | AMEX (UK) | 374614826981843 | 10/31 | 564 | 12345 | 3310 |
Noauth | AMEX (NG) | 348784578661852 | 10/31 | 564 | 12345 | 3310 |
3DS authentication | AMEX (NG) | 348784717711675 | 10/31 | 564 | 12345 | 3310 |
Failed payments
Use these cards if you want the payment to fail.
Type | Network | Card number | Expiry | CVV | OTP | PIN |
---|---|---|---|---|---|---|
Card Declined (Address Verification) | MasterCard | 5143010522339965 | 08/32 | 276 | 12345 | 3310 |
Card Fraudulent | MasterCard | 5590131743294314 | 11/32 | 887 | 12345 | 3310 |
Card Insufficient Funds | MasterCard | 5258585922666506 | 09/31 | 883 | 12345 | 3310 |
Do Not Honour | MasterCard | 5143010522339965 | 08/31 | 276 | - | 3310 |
Insufficient Funds | MasterCard | 5258585922666506 | 09/31 | 883 | 12345 | 3310 |
Invalid Transaction | MasterCard | 5551658157653822 | 08/31 | 276 | - | - |
Restricted Card, Retain Card | MasterCard | 5551651630381384 | 08/31 | 276 | - | - |
Function Not Permitted to Cardholder | MasterCard | 5258582054729020 | 11/30 | 887 | - | - |
Function Not Permitted to Terminal | MasterCard | 5258588264565682 | 11/30 | 887 | - | - |
Transaction Error | MasterCard | 5258589130149016 | 11/30 | 887 | - | - |
Incorrect PIN | MasterCard | 5399834697894723 | 09/31 | 883 | 12345 | 3310 |
Testing Payments on Checkout
To properly render checkout on your local environment, you'd need to route your app to localhost:<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 is happening 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.
Bank: Access Bank (044)
Account number: 0690000031
OTP: 12345
Bank: Access Bank (044)
Account number: 0690000032
OTP: 12345
Bank: Access Bank (044)
Account number: 0690000033
OTP: 12345
Bank: Access Bank (044)
Account number: 0690000034
OTP: 12345
If 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 OTP 123456.
Failed payments
Mock failed transactions for your integration tests using any of the following numbers. Update the country code of each number to match the code of your customer's number.
S/N | Mobile number | Error message |
---|---|---|
1. | 233121212121 | Mocked a Failed Transaction |
2. | 233010101011 | Mocked a Failed Transaction |
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
PENDING
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.
For example:
- a transfer with a
reference
of"dfs23fhr7ntg0293039_PMCK"
will succeed after 10 minutes - a transfer with a
reference
of"dfs23fhr7ntg0293039_PMCKDU_1"
will succeed after 1 minute - a transfer with a
reference
of"dfs23fhr7ntg0293039_PMCK_ST_F"
will fail after 10 minutes - a transfer with a
reference
of"dfs23fhr7ntg0293039_PMCK_ST_FDU_1"
will fail after 1 minute
Bill Payments
Here are some credentials to help you test some billers
Biller | Credential Type | Credentials |
---|---|---|
DSTV | Smart card number | 0025401100 |
The Biller type for making mock DSTV payments is DSTV Payment
BVN Credentials
Use these mock data to test your BVN consent integration
BVN: 22222222280
First Name: Nibby
Last Name: Certifier
OTP: 111111
BVN: 22123456789
First Name: Nibby
Last Name: Certifier