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.

View sandbox transactions and webhooks in the Peach Payments sandbox Dashboard.

Test cards and credentials

Use the following test cards and credentials to test integrations.

Card payments

🚧

  • Card payments are only available on Checkout.
  • When testing multi-currency processing in sandbox, you must use either 92.00 or 15.99 as the transaction amount to simulate a successful transaction.

Test cards are available for both versions of 3-D Secure.

3-D Secure 2

ScenarioReturns method dataCard schemeResult
FrictionlessVisa: 4200000000000091
Mastercard: 5200000000000007
Maestro: 6761301000993772
American Express: 374500262001008
Successful frictionless authentication (Visa ECI=05, Mastercard ECI=02, TransactionStatus=Y)
FrictionlessVisa: 4200000000000109
Mastercard: 5200000000000023
Maestro: 6706981111111113
American Express: 377277081382243
Attempt (Visa ECI=06, Mastercard ECI=01, TransactionStatus=A)
FrictionlessVisa: 4200000000000026
Mastercard: 5200000000000056
Maestro: 6799851000000032
American Express: 375987000000062
Successful frictionless authentication (Visa ECI=05, Mastercard ECI=02, TransactionStatus=Y)
FrictionlessVisa: 4200000000000059
Mastercard: 5200000000000106
Maestro: 6007930123456780
American Express: 373953192351004
Attempt (Visa ECI=06, Mastercard ECI=01, TransactionStatus=A)
ErrorVisa: 4012001037461114
Mastercard: 5434580000000006
Maestro: 6761301000941201
American Express: 375987000169875
Technical Error (no ECI, TransactionStatus=U)
ErrorVisa: 4012001037141112
Mastercard: 5457350076543210
Maestro: 6761301000946341
American Express: 375987000169883
User not enrolled (Visa ECI=06, Mastercard ECI=01, TransactionStatus=N)
ErrorNot applicableVisa: 4532497088771651
Mastercard: 5497260847316287
Maestro: 6761257707836567
American Express: 343923092050144
Card not participating
ChallengeVisa: 4200000000000042
Mastercard: 5200000000000015
Maestro: 6799998900000060018
American Express: 343434343434343
(determined by challenge)
ChallengeVisa: 4200000000000067
Mastercard: 5200000000000049
Maestro: 6773670009114879
American Express: 375987000000021
(determined by challenge)
ChallengeVisa: 4200000000000018
Mastercard: 5200000000000064
Maestro: 67034200554565015
American Express: 375987000169867
(determined by challenge)
ChallengeVisa: 4200000000000075
Mastercard: 5200000000000072
Maestro: 6759888888888888
American Express: 371449635398431
(determined by challenge)

3-D Secure 1

Card schemeCard number3-D Secure
Visa4711100000000000Enabled
Visa4200000000000000Disabled
Visa4012888888881881Enabled
Visa4111111111111111Simulates external mode
Visa4242424242424242Disabled
Mastercard5212345678901234Enabled
Mastercard5105105105105100Disabled
Mastercard5454545454545454Disabled
American Express375987000000005Enabled
American Express377777777777770Disabled
American Express311111111111117
Diners30082246403846Disabled

📘

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.

Pay by Bank

When testing in the sandbox environment, use the Capitec Pay testing credentials to test Capitec Pay.

To test Pay by Bank for other EFT payment methods in Checkout in the sandbox environment (in a simulator), when the bank's user interface appears, click the DEVELOPMENT SERVER title, select the status to simulate, and click Continue.

Capitec Pay

To test Capitec Pay against a simulator in the sandbox environment, include "customParameters[enableTestMode]":"true" in the Payments API request body; this is not required when testing on Checkout.

🚧

High-risk merchants must provide verified ID numbers that the customer cannot edit. They cannot offer the phone number option.

Use the following ID or phone numbers to test certain Capitec Pay payment request scenarios:

ScenarioID numberPhone numberResult code
Client not registered on the banking app11111111111060111111106000.400.102
Default transaction limit exceeded11111111111090111111109800.100.162
Consent request created successfully11111111111190111111119000.200.000

Use the following ID or phone numbers to test certain Capitec Pay transaction status scenarios:

ScenarioID numberPhone numberResult code
Payment consent declined by client11111111111370111111137100.396.101
Payment consent request timed out11111111111380111111138900.100.400
Payment failed11111111111390111111139800.100.100
Client reported payment consent request as fraud11111111111400111111140000.100.220
Payment successful11111111112140111111214000.100.110 in sandbox and 000.000.000 in live

🚧

  • To execute tests against the actual endpoints, contact support.
  • Testing this way requires manual intervention and synchronisation between you, Peach Payments, and Capitec.

Peach EFT

Test Peach EFT in Payments API in a simulator in the sandbox environment.

When the bank selector user interface appears, click SIMULATOR, select the status to simulate, and click Continue.

Payflex

📘

Payflex must add you to their allowlist before you can test.

When testing in the sandbox environment, use the following details:

  • Email: Any email address
  • ID number: 9503095194084
  • Test card number: 4111 1111 1111 1111
  • Test card name: Anything
  • Test card CVV: Any three digits
  • Test card expiry date: Any future date
  • Phone number: 0123456789
  • OTP: 911911

ZeroPay

When testing in the sandbox environment, use the following details:

  • ID number: 9512235170089
  • OTP: 0000

Float

To test Float against a simulator in the sandbox environment, include "customParameters[enableTestMode]":"true" in the Payments API request body; this is not required when testing on Checkout.

When testing in the sandbox environment, use the Visa or Mastercard test cards to test.

Scan to Pay

  1. Download any Scan to Pay app available in your region on your phone:

  2. Switch to the Scan to Pay test environment in the app by scanning this QR code.

    Scan to Pay test environment QR code.

    Scan to Pay test environment QR code.

  3. 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)
    • 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)
  4. Select Scan to Pay as the payment method and scan the QR code presented to you on the payment page.

  5. Pay for your order using one of the stored cards in your wallet.

  6. Do not close the browser after completing the payment in the app.

Apple Pay

🚧

  • Apple Pay is only available on Checkout.
  • You must have an Apple developer test account to test Apple Pay.

Test cards for sandbox are available on https://developer.apple.com/apple-pay/sandbox-testing/.

Google Pay

🚧

Google Pay is only available on Checkout.

To test Google Pay in the sandbox environment (in a simulator), use any live card. Your card is not charged because you're in the sandbox environment. Click Google Pay, select your card, click Continue, select the status to simulate, and click Pay.

1Voucher

When testing in the sandbox environment, request test vouchers from support.

Mobicred

You must request test credentials directly from Mobicred.

RCS cards

To test RCS cards against a simulator in the sandbox environment, include "customParameters[enableTestMode]":"true" in the Payments API request body; this is not required when testing on Checkout. In the sandbox environment, the payment process bypasses the OTP and success screens, redirecting the user to the shopperResultUrl.

Use the following amount values with the card.number set to 6010240000000000 to test certain payment request scenarios:

ScenarioAmountResult code
Payment successful1.00000.100.110
Payment consent expired while in progress0.75100.396.101
Payment consent declined by client0.80100.396.101

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, include "customParameters[enableTestMode]":"true" in the Payments API request body; this is not required when testing on Checkout.

Use the following phone numbers to test certain payment request scenarios:

ScenariovirtualAccount.accountIdExpected result code
Client does not exist for the given mobile number51111213200.100.501
Pending transaction response from debit API51111215000.200.000
Session expired response from debit API51111206900.300.600

Use the following phone numbers to test certain blink by Emtel transaction status scenarios:

ScenariovirtualAccount.accountIdExpected result code
Insufficient funds51111322800.100.203
Payment successful51100000000.100.110 in sandbox and 000.000.000 in live

📘

When testing the successful payment scenario on sandbox using the 51100000 number, when you get to the confirmation message screen, wait for the confirmation request to expire to simulate a successful payment.

🚧

  • To execute tests against the actual endpoints, contact support.
  • Testing this way requires manual intervention and synchronisation between you, Peach Payments, and Emtel.

MCB Juice

To test MCB Juice against a simulator in the sandbox environment, include "customParameters[enableTestMode]":"true" in the Payments API request body; this is not required when testing on Checkout.

🚧

You cannot test a successful transaction end-to-end.

Use the following amounts to test certain failure scenarios:

ScenarioAmountExpected result code
Consent expired1.25100.380.501
General error1.40900.100.201

Go live

When you have completed integration and testing and your payments integration is working in the sandbox environment, switch to your live credentials to begin accepting live payments.

Live credentials and API endpoints

In the API reference section, the live and sandbox endpoints are in the Base URL list; this example shows the Checkout status endpoints.

In the API reference section, the live and sandbox endpoints are in the Base URL list; this example shows the Checkout status endpoints.