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.

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 2, https://peachpayments.docs.oppwa.com/tutorials/threeDSecure/3DSTestCards contains a set of test cards. A subset of these cards is available below:

ScenarioVisaMastercardAmerican ExpressResult
Frictionless42000000000000915200000000000007374500262001008Successful
Frictionless42000000000001095200000000000023377277081382243Attempt
Frictionless42000000000000265200000000000056375987000000062Successful
Frictionless42000000000000595200000000000106373953192351004Attempt
Error40120010374611145434580000000006375987000169875Technical error
Error40120010371411125457350076543210375987000169883User not enrolled
Error45324970887716515497260847316287343923092050144Card not participating
Challenge42000000000000425200000000000015343434343434343(determined by challenge)
Challenge42000000000000675200000000000049375987000000021(determined by challenge)
Challenge42000000000000185200000000000064375987000169867(determined by challenge)
Challenge42000000000000755200000000000072371449635398431(determined by challenge)

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 associationCard number3-D Secure
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

Use the Capitec Pay testing credentials to test Capitec Pay, the Nedbank Direct EFT testing credentials to test Nedbank Direct EFT, and the EFTsecure testing credentials to test all other EFT payment methods.

Capitec Pay

To test Capitec Pay against a simulator in the sandbox environment, include "customParameters[enableTestMode]":"true" in the request body.

🚧

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.

Nedbank Direct EFT

Use the following username and password when testing Nedbank Direct EFT on the sandbox environment:

  • Username: apimtestuser3
  • Password:IamN3db@nk123

The test account has three accounts, with the following balances:

  • Current account: R996.28
  • Savings account: R13913.52
  • Credit card: R500.20

The following table describes certain scenarios and their result codes:

ScenarioResult code
Transaction timed out100.380.501
Customer has insufficient funds800.100.203
Customer cancelled payment100.396.101
Customer paid successfully000.100.110 in sandbox and 000.000.000 in live

EFTsecure

🚧

  • Your account must be in test mode.
  • 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 webhooks in the Peach Payments sandbox Dashboard.

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: 8611100768080
  • 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: 0722303869
  • OTP: 911911

View sandbox transactions in the Peach Payments sandbox Dashboard.

ZeroPay

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

  • ID number: 9512235170089
  • OTP: 0000

View sandbox transactions in the Peach Payments sandbox Dashboard.

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 Hosted 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/.

1Voucher

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

Mobicred

You must request test credentials directly from Mobicred.

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 request body.

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 successful51111330000.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.

MCB Juice

To test MCB Juice against a simulator in the sandbox environment, include "customParameters[enableTestMode]":"true" in the request body.

🚧

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 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: