Test and go live procedure 🚀
While integrating, you have access to a sandbox account during user acceptance testing. Use this account to test fake payments to verify your integration.
In sandbox, it's impossible to test the entire debit flow for A+, Payflex, ZeroPay, Mobicred, and FinChoicePay.
For EFTsecure, your account must be in test mode.
Test cards and credentials
Use the following test cards and credentials to test integrations.
Card payments
Card payments are only available on Checkout.
Test cards are available for both versions of 3-D Secure.
For 3-D Secure 1, https://peachpayments.docs.oppwa.com/reference/parameters#testing contains a set of test cards. You can also use the following test cards:
Card association | Card number | 3-D Secure |
---|---|---|
Visa | 4012888888881881 | Enabled |
Visa | 4111111111111111 | Simulates external mode |
Visa | 4242424242424242 | Disabled |
Mastercard | 5212345678901234 | Enables |
Mastercard | 5105105105105100 | Disabled |
Mastercard | 5454545454545454 | |
American Express | 375987000000005 | Enabled |
American Express | 377777777777770 | Disabled |
American Express | 311111111111117 | |
Diners | 30082246403846 | Disabled |
For all the test cards in the table above:
- For Visa, Mastercard, and Diners cards, the CVV is any three digits. For American Express cards, the CVV is any four digits.
- For the expiry date, any future date is acceptable.
- These test cards simulate a successful transaction.
For 3-D Secure 2, https://peachpayments.docs.oppwa.com/tutorials/threeDSecure/3DSTestCards contains a set of test cards. A subset of these cards is available below:
Scenario | Visa | Mastercard | American Express |
---|---|---|---|
Frictionless | 4200000000000091 | 5200000000000007 | 374500262001008 |
Frictionless | 4200000000000109 | 5200000000000023 | 377277081382243 |
Frictionless | 4200000000000026 | 5200000000000056 | 375987000000062 |
Frictionless | 4200000000000059 | 5200000000000106 | 373953192351004 |
Error | 4012001037461114 | 5434580000000006 | 375987000169875 |
Error | 4012001037141112 | 5457350076543210 | 375987000169883 |
Error | 4532497088771651 | 5497260847316287 | 343923092050144 |
Challenge | 4200000000000042 | 5200000000000015 | 343434343434343 |
Challenge | 4200000000000067 | 5200000000000049 | 375987000000021 |
Challenge | 4200000000000018 | 5200000000000064 | 375987000169867 |
Challenge | 4200000000000075 | 5200000000000072 | 371449635398431 |
Capitec Pay
To test Capitec Pay against a simulator in the sandbox environment, include "customParameters[enableTestMode]":"true"
in the request body.
Use the following cellphone numbers to test certain Capitec Pay payment request scenarios:
Scenario | Cellphone number | Expected result code |
---|---|---|
Client not registered on the banking app | 0111111106 | 000.400.102 |
Transaction limit exceeded | 0111111109 | 800.100.162 |
Consent request created successfully | 0111111098 | 000.200.000 |
Use the following cellphone numbers to test certain Capitec Pay transaction status scenarios:
Scenario | Cellphone number | Expected result code |
---|---|---|
Payment consent declined by client | 0111111201 | 100.396.101 |
Payment consent request timed out | 0111111202 | 900.100.400 |
Payment failed | 0111111203 | 800.100.100 |
Client reported payment consent request as fraud | 0111111204 | 000.100.220 |
Payment successful | 0111111097 | 000.100.110 |
- To execute tests against the actual endpoints, contact support.
- Testing this way requires manual intervention and synchronisation between you, Peach Payments, and Capitec.
EFTsecure
When testing in the sandbox environment, EFTsecure transaction amounts must be R10.00 or less, or equal to R101, R1001, R10001, or R100001.
View sandbox transactions and manage sandbox webhooks in the Peach Payments Console.
Scan to Pay
-
Download any Scan to Pay app available in your region on your phone:
-
Switch to the Scan to Pay test environment in the app by scanning this QR code.

Scan to Pay test environment QR code.
- Add any of the following test cards to your Scan to Pay wallet:
- Debit cards:
- Any 18-digit card starting with
50010001000105
with any bank PIN =00
response (success) - Any 18-digit card starting with
50010001000101
with any bank PIN =51
response (insufficient funds) - Any 18-digit card starting with
50020001000103
with any bank PIN =91
response (issuer or switch inoperative or bank unavailable)
- Any 18-digit card starting with
- Credit cards:
- Any 18-digit card starting with
50020001000105
with any bank PIN =00
response (success) - Any 18-digit card starting with
50020001000101
with any bank PIN =51
response (insufficient funds) - Any 18-digit card starting with
50020001000103
with any bank PIN =91
response (issuer or switch inoperative or bank unavailable)
- Any 18-digit card starting with
- Debit cards:
- Select Scan to Pay as the payment method and scan the QR code presented to you on the payment page.
- Pay for your order using one of the stored cards in your wallet.
- Do not close the browser after completing the payment in the app.
Apple Pay
🚧️
Apple Pay is only available on Checkout.
Test cards for sandbox are available on https://developer.apple.com/apple-pay/sandbox-testing/.
🚧️
You must have an Apple developer test account to test Apple Pay.
M-PESA
To test M-PESA, contact support for test credentials.
blink by Emtel
To test blink by Emtel against a simulator in the sandbox environment, use the following phone numbers to test certain blink by Emtel payment request scenarios:
Scenario | virtualAccount.accountId | Expected result code |
---|---|---|
Client does not exist for the given mobile number | 51111213 | 200.100.501 |
Pending transaction response from debit API | 51111215 | 000.200.000 |
Session expired response from debit API | 51111206 | 900.300.600 |
Use the following phone numbers to test certain blink by Emtel transaction status scenarios:
Scenario | virtualAccount.accountId | Expected result code |
---|---|---|
Insufficient funds | 51111322 | 800.100.203 |
Payment successful | 51111330 | 000.100.110 |
- To execute tests against the actual endpoints, contact support.
- Testing this way requires manual intervention and synchronisation between you, Peach Payments, and Emtel.
Go live
When you have completed integration and testing and your payments integration is working in the sandbox environment, you can contact support to request the go-ahead to go live.
If approved to go live, the support team provides you with a new set of authentication credentials.
Live credentials and API endpoint
- Your live credentials differ from your sandbox credentials. You must swap these credentials before going live.
- The live API endpoint differs from that of the sandbox API endpoint. Ensure that you have updated to the live API endpoint in your code.
Updated 8 days ago