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.

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

Cards

Card details to use to make a mock payment.

Successful payments

Use these cards if you want the payment to succeed.

TypeCard numberCVVPINExpiryOTP
MasterCard PIN authentication5531886652142950564331009/3212345
Mastercard PIN authentication 25399838383838381470331010/3112345
MasterCard 3DS authentication5438898014560229564331010/3112345
Visa Card 3DS authentication4187427415564246828331009/3212345
Visa Card 3DS authentication 24242424242424242812331009/3112345
Visa Card 3DS authentication 34751763236699647470-09/35-
Verve Card Noauth5061460410120223210780331010/3112345
Verve Card PIN authentication 25061460166976054667564331010/29-
Address Verification (AVS) Card4556052704172643899331009/3212345
Pre-authorization Test Card5377283645077450789331009/31-

Failed payments

Use these cards if you want the payment to fail.

TypeCard numberCVVPINExpiryOTP
Card Declined (Address Verification)5143010522339965276331008/3212345
Card Fraudulent5590131743294314887331011/3212345
Card Insufficient Funds5258585922666506883331009/3112345
Do Not Honour5143010522339965276331008/31-
Insufficient Funds5258585922666506883331009/3112345
Invalid Transaction5551658157653822276-08/31-
Restricted Card, Retain Card5551651630381384276-08/31-
Function Not Permitted to Cardholder5258582054729020887-11/30-
Function Not Permitted to Terminal5258588264565682887-11/30-
Transaction Error5258589130149016887-11/30-
Incorrect PIN5399834697894723883331009/3112345
Verve Card - Card enrolment5531882884804517564331010/32-

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
EKEDCMeter number1101160434535
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...