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.

Using test credentials and mock data

These credentials and data work exclusively in Test Mode. If you require mock data for testing a specific flow or feature, please contact support.

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.

TypeNetworkCard numberExpiryCVVOTPPIN
PIN authenticationMasterCard553188665214295009/32564123453310
3DS authenticationMasterCard543889801456022910/31564123453310
3DS authenticationVisa418742741556424609/32828123453310
PIN authenticationVerve506146041012022321010/31780123453310
NoauthVerve506146016697605466710/29564-3310
Address Verification (AVS)Visa455605270417264309/32899123453310
Pre-authorization Test CardMasterCard537728364507745009/31789-3310
3DS authenticationAMEX (US)34061467047104110/31564123453310
NoauthAMEX (UK)37461482698184310/31564123453310
NoauthAMEX (NG)34878457866185210/31564123453310
3DS authenticationAMEX (NG)34878471771167510/31564123453310

Failed payments

Use these cards if you want the payment to fail.

TypeNetworkCard numberExpiryCVVOTPPIN
Card Declined (Address Verification)MasterCard514301052233996508/32276123453310
Card FraudulentMasterCard559013174329431411/32887123453310
Card Insufficient FundsMasterCard525858592266650609/31883123453310
Do Not HonourMasterCard514301052233996508/31276-3310
Insufficient FundsMasterCard525858592266650609/31883123453310
Invalid TransactionMasterCard555165815765382208/31276--
Restricted Card, Retain CardMasterCard555165163038138408/31276--
Function Not Permitted to CardholderMasterCard525858205472902011/30887--
Function Not Permitted to TerminalMasterCard525858826456568211/30887--
Transaction ErrorMasterCard525858913014901611/30887--
Incorrect PINMasterCard539983469789472309/31883123453310

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

Testing tip

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/NMobile numberError message
1.233121212121Mocked a Failed Transaction
2.233010101011Mocked 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

IP Whitelisting
In order to conduct a successful integration test, it's important to ensure that you whitelist the IP addresses of the servers making the transfer API calls
When testing a transfer, you can use any of our provided test accounts . By default, such transfers will always remain in a 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

BillerCredential TypeCredentials
DSTVSmart card number0025401100
DSTV tests

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

Loading...