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 associationCard number3-D Secure
Visa4012888888881881Enabled
Visa4111111111111111Simulates external mode
Visa4242424242424242Disabled
Mastercard5212345678901234Enables
Mastercard5105105105105100Disabled
Mastercard5454545454545454
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.

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 Express
Frictionless42000000000000915200000000000007374500262001008
Frictionless42000000000001095200000000000023377277081382243
Frictionless42000000000000265200000000000056375987000000062
Frictionless42000000000000595200000000000106373953192351004
Error40120010374611145434580000000006375987000169875
Error40120010371411125457350076543210375987000169883
Error45324970887716515497260847316287343923092050144
Challenge42000000000000425200000000000015343434343434343
Challenge42000000000000675200000000000049375987000000021
Challenge42000000000000185200000000000064375987000169867
Challenge42000000000000755200000000000072371449635398431

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:

ScenarioCellphone numberExpected result code
Client not registered on the banking app0111111106000.400.102
Transaction limit exceeded0111111109800.100.162
Consent request created successfully0111111098000.200.000

Use the following cellphone numbers to test certain Capitec Pay transaction status scenarios:

ScenarioCellphone numberExpected result code
Payment consent declined by client0111111201100.396.101
Payment consent request timed out0111111202900.100.400
Payment failed0111111203800.100.100
Client reported payment consent request as fraud0111111204000.100.220
Payment successful0111111097000.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

  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.

  1. 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)
  2. Select Scan to Pay as the payment method and scan the QR code presented to you on the payment page.
  3. Pay for your order using one of the stored cards in your wallet.
  4. 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:

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.

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.