Payment methods
Introduction
To learn more about the payment methods, see the Peach Payments website.
- Enable more payment methods on your Peach Payments account using the Dashboard.
- Capitec Pay and Absa Pay have certain restrictions for high-risk merchants.
- For more information on payment types, see the payments reference material.
- For details on how to test payment methods in the sandbox environment, see the test and go live procedure.
Choose the right product
The Peach Payments product portfolio contains multiple products suited to different requirements. The following diagram can help you choose which products are right for your requirements.
The Payments API does not support card payments, so if you want to accept card payments, you must use Checkout in conjunction with Payments API.
%%{init: {'theme': 'base', 'htmlLabels': false, 'themeVariables': { 'primaryColor': '#EE8031', 'secondaryColor':'#EE8031', 'lineColor':'#EE8031','textColor':'#EE8031', 'fontFamily': 'Inter' }}}%%
flowchart TD
A[Do you have an eCommerce store, physical store, or no store at all?] -->|No store|B[Use Payment Links, Payment Page, or Xero.]
A -->|eCommerce store|C[Is your eCommerce store built using Ecwid, Gravity Forms, Magento, nopCommerce, OpenCart, Shopify, Wix, or WooCommerce?]
A -->|Physical store|P[Use POS device.]
C -->|Yes|D[Use one of our payment extensions.]
C -->|No|E[Do you want to customise the customer's payment flow?]
E -->|Yes|G[Use Payments API and Server-to-Server.]
E -->|No|F[Do you want to embed checkout on your website or redirect to Peach Payments?]
F -->|Redirect|I[Use Hosted Checkout.]
F -->|Embed|H[Use Embedded Checkout.]
South Africa
| Category | Payment method (parameter) | Currencies | Integrations | Payment types |
|---|---|---|---|---|
| Card | Visa (CARD) | ZAR | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, POS, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA*** |
Mastercard (CARD) | ZAR | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, POS, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA | |
Amex (CARD) | ZAR | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, POS, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA | |
Diners (CARD) | ZAR | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA | |
| Card, multi-currency | Visa, Mastercard (CARD) | Multiple, if using Absa Planet Payments | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA |
| EFT | PayShap (PAYSHAP) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB, RF (full or partial, one refund only)* |
Pay by Bank (PAYBYBANK) | ZAR | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, POS | DB | |
Capitec Pay (CAPITECPAY) | ZAR | Embedded and Hosted Checkout (via Pay by Bank), Payments API, Payment Links, Payment Page, payment extensions, POS | DB | |
Nedbank Direct EFT (NEDBANKDIRECTEFT) | ZAR | Embedded and Hosted Checkout (via Pay by Bank), Payments API, Payment Links, Payment Page, payment extensions, POS | DB | |
Absa Pay (ABSAEFT) | ZAR | Embedded and Hosted Checkout (via Pay by Bank), Payments API (via Peach EFT), Payment Links, Payment Page, payment extensions, POS | DB | |
Peach EFT (PEACHEFT) | ZAR | Payments API | DB | |
| Buy now, pay later | Payflex (PAYFLEX) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB, RF (full or partial)* |
ZeroPay (ZEROPAY) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB | |
Float (FLOAT) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB, RF (full or partial)* | |
Happy Pay (HAPPYPAY) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB, RF (full or partial)* | |
| PayJustNow | ZAR | POS | DB | |
| QR code | Scan to Pay (MASTERPASS) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB, RF (full only)* |
| Wallet | Apple Pay (APPLE PAY) | ZAR | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, POS, Server-to-Server, Mobile SDK | DB, RF (full or partial)* |
Google Pay (GOOGLEPAY) | ZAR | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, POS, Server-to-Server | DB, RF (full or partial)* | |
Samsung Pay (SAMSUNGPAY) | ZAR | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, POS, Server-to-Server | DB, RF (full or partial)* | |
PayPal (PAYPAL) | USD, GBP, and EUR | Hosted Checkout, Payment Links, payment extensions, POS | DB, RF (full or partial)*, RG** | |
| Voucher | 1Voucher (1FORYOU) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB, RF (full or partial)* |
| Alternative credit | Mobicred (MOBICRED) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB, RF (full or partial)* |
RCS credit and store cards (RCS) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB, RF (full or partial)* | |
A+ store cards (APLUS) | ZAR | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, POS | DB, RF (full or partial)* | |
| Crypto | MoneyBadger (MONEYBADGER) | ZAR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB, RF (full or partial)* |
* Refund transactions using the Dashboard or the relevant API:
Depending on the payment method, refunds complete in:
- Card and BNPL (buy now, pay later) payment methods: Up to 14 business days
- PayShap: Depends on the bank, with some banks processing refunds immediately
- MoneyBadger: Immediately
- Other payment methods: Up to 30 days
For payment methods that do not support refunds, you must process refunds manually. One way of doing this is to contact your customer to request their bank account details for an EFT transfer.
** Embedded Checkout and Hosted Checkout do not support the RG payment type, but you can tokenise a card while performing a DB or PA.
*** Follow this guide to capture a preauthorisation.
For more information on the requirements for a multi-currency merchant account with Absa, see the support knowledge base.
PayShap
PayShap enables customers to make instant payments using their banking apps.
PayShap has the following limitations:
Supports one refund per transaction only. If you perform a partial refund, you cannot perform another refund later.
Limited to specific participating banks with different transaction limits.
Bank Support status Transaction limit Absa ✅ Supported R3,000 Discovery Bank ✅ Supported R3,000 FNB ✅ Supported R3,000 Nedbank ✅ Supported R50,000 TymeBank ✅ Supported R5,000 African Bank ❌ Not supported Not applicable Capitec ❌ Not supported Not applicable Investec ❌ Not supported Not applicable Standard Bank ❌ Not supported Not applicable
For details on how to test PayShap in the sandbox environment, see the test and go live procedure.
Pay by Bank
Pay by Bank offers the EFT payment method for the same banks that Peach EFT does, as well as Capitec Pay, Nedbank Direct EFT, and Absa Pay. Pay by Bank is only available on Embedded Checkout and Hosted Checkout.
When attempting to pay large amounts using Pay by Bank, your customers should ensure that their bank payment limits are high enough to cover the amount.
For details on how to test Pay by Bank in the sandbox environment, see the test and go live procedure.
Capitec Pay
For Checkout, Capitec Pay is included in Pay by Bank user interface.
Capitec categorises merchants as either high or low risk. The following table describes the different options available for merchants, depending on their risk category.
| Risk category | Product | Notes |
|---|---|---|
| Low | All products | Supports paying with ID and phone number. |
| High | Embedded Checkout and Hosted Checkout API, Payments API | Supports paying with merchant-provided verified ID that the customer cannot edit. Does not support paying with phone number. |
- For Checkout, you must provide the verified ID in the
customer.idNumberparameter. - For Payments API, you must provide the verified ID in the following format:
"virtualAccount": { "type": "IDNUMBER", "accountId": "9999999999999" }
- High-risk merchants using Payment Links, Payment Page, or a payment extension cannot use Capitec Pay as there is no way for them to provide the ID number in payment requests.
- Capitec Pay does not support paying with passport numbers for low- or high-risk merchants.
For details on how to test Capitec Pay in the sandbox environment, see the test and go live procedure.
Nedbank Direct EFT
For Checkout, Nedbank Direct EFT is included in Pay by Bank user interface.
To pay with Nedbank Direct EFT, your customers must configure their Nedbank Money app to be an In-app Approve-it device. This allows them to perform in-app approvals for transactions.
For details on how to test Nedbank Direct EFT in the sandbox environment, see the test and go live procedure.
Absa Pay
- For Checkout, Absa Pay is included in Pay by Bank user interface.
- For Payments API, use
PEACHEFTfor thepaymentBrandand use thevirtualAccountarray to specifyABSAEFTas theprocessor.
Absa categorises merchants as either high or low risk. The following table describes the different options available for merchants, depending on their risk category.
| Risk category | Product | Notes |
|---|---|---|
| Low | All products | Supports paying with ID. |
| High | Embedded Checkout and Hosted Checkout API, Payments API | Supports paying with merchant-provided verified ID that the customer cannot edit. |
- For Checkout, you must provide the verified ID in the
customer.idNumberparameter. - For Payments API, you must provide the verified ID in the following format:
"virtualAccount": [ { "processor": "ABSAEFT", "identifier": [ { "type": "IDNUMBER", "accountId": "9999999999999" } ] } ]
- High-risk merchants using Payment Links, Payment Page, or a payment extension cannot use Absa Pay as there is no way for them to provide the ID number in payment requests.
- Absa Pay does not support paying with passport numbers for low- or high-risk merchants.
For details on how to test Absa Pay in the sandbox environment, see the test and go live procedure.
Peach EFT
Peach EFT enables you to offer the EFT payment method for multiple banks, including Absa, Nedbank, FNB, Standard Bank, Investec, TymeBank, Bidvest Bank, Old Mutual Bank, and African Bank. Peach EFT is only available on Payments API.
When attempting to pay large amounts using Peach EFT, your customers should ensure that their bank payment limits are high enough to cover the amount.
For details on how to test Peach EFT in the sandbox environment, see the test and go live procedure.
Scan to Pay
For Scan to Pay, refunds are not allowed on debit cards. You can process a reversal on the debit card using the Scan to Pay service, but you must complete it before six hours have elapsed since the original transaction.
Multiple Scan to Pay, banking, and payments mobile apps, including the Nedbank Money, Standard Bank, Absa Banking App, Capitec Bank, FNB Banking App, RMB Private Bank App, Masterpass Scan to Pay, VodaPay, Telkom Pay Digital Wallet, and Spot Money - Mobile Banking support Scan to Pay QR codes.

Multiple mobile apps that support Scan to Pay QR codes.
For details on how to test Scan to Pay in the sandbox environment, see the test and go live procedure.
Apple Pay
Embedded Checkout and Hosted Checkout support Apple Pay on:
- iOS devices (iPhone, iPad, and so on, but not Macs): All browsers, including Safari, Chrome, Firefox, and so on.
- Windows devices: Firefox and all modern, Chromium-based browsers, including Google Chrome, Microsoft Edge, Opera, and so on. To scan the QR code, customers must use a mobile device running iOS 18 or later.
To offer Apple Pay to your customers, you must:
- Have an FNB, Nedbank, or Standard Bank merchant account.
- Have card enabled on your Peach Payments account.
The support for Apple Pay on non-Safari browsers might change in the future.
For Apple Pay transactions on Embedded Checkout and Hosted Checkout:
- The
isApplePayWalletparameter istruefor Apple Pay transactions. - The
resultDetails.ConnectorTxID1parameter (not theidparameter) holds the transaction ID. When searching for Apple Pay transactions on the Dashboard, use the value of theresultDetails.ConnectorTxID1parameter, and not the value of theidparameter.
You cannot refund Apple Pay transactions from your Shopify dashboard.
For details on how to test Apple Pay in the sandbox environment, see the test and go live procedure.
Google Pay
To offer Google Pay to your customers, you must:
- Have signed up with Google Pay.
- Have an Absa, FNB, Nedbank, or Standard Bank merchant account.
- Have card enabled on your Peach Payments account.
- Send Peach Payments support your Google Pay merchant ID if you're using Embedded Checkout.
For details on how to test Google Pay in the sandbox environment, see the test and go live procedure.
Samsung Pay
To offer Samsung Pay to your customers, you must:
- Have signed up with Samsung Pay.
- Have a Nedbank or Standard Bank merchant account.
- Have card enabled on your Peach Payments account.
iOS devices (iPhone and iPad) do not support Samsung Pay.
Payflex
Payflex supports payments between R10 and R50,000 by default. To request a higher limit, contact support.
See the Payflex documentation for details on how to configure the Payflex widget. You can also use the widget on the following eCommerce platforms:
For details on how to test Payflex in the sandbox environment, see the test and go live procedure.
ZeroPay
The minimum amount you can pay using ZeroPay is R30.
Use the following files to configure the ZeroPay instalment calculator depending on your eCommerce platform:
For details on how to test ZeroPay in the sandbox environment, see the test and go live procedure.
Float
Use the following files to integrate the Float widget depending on your eCommerce platform:
For details on how to test Float in the sandbox environment, see the test and go live procedure.
Happy Pay
See the Happy Pay documentation for details on how to configure Happy Pay's payment widget in HTML or on Shopify.
For WooCommerce, use this file.
For details on how to test Happy Pay in the sandbox environment, see the test and go live procedure.
Mobicred
See the Mobicred documentation for details on how to configure the Mobicred instalment widget. The widget also supports multiple eCommerce platforms, including Magento, OpenCart, Shopify, and WooCommerce. See the Integrations section for more details.
For details on how to test Mobicred in the sandbox environment, see the test and go live procedure.
MoneyBadger
MoneyBadger enables you to accept crypto payments from Bitcoin Lightning Network, Luno, VALR, Binance, and Bybit wallets.
Refunds
- You can only refund amounts equal to or more than R25 which also applies to partial refunds.
- For Bitcoin Lightning Network wallets (this is not required for Luno, VALR, Binance, or Bybit), customers must provide their wallet address during the initial payment process if they want to be able to refund their transaction later. If they don't, attempts to refund the transaction fail with the
800.100.195response code.

Customers with Bitcoin Lightning Network wallets must provide their wallet address during the initial payment process if they want to be able to request a refund later.
Ensure that your customers are aware of the refund limit and that for Bitcoin Lightning Network wallets, that they must provide their wallet address during the initial payment if they want to be able to request a refund later.
Peach Payments bases the refund amount on the item's Rand (ZAR) price at the time that the customer bought it. Peach Payments converts the Rand value to crypto using the exchange rate at the time of the refund which means that the customer might get a different amount of crypto back than they first paid.
For example:
- Your customer bought an item for R100, which cost them 0.00004 Bitcoin at the time.
- The refund value: R100
- What the customer gets back when they request the refund: R100 worth of Bitcoin at the current exchange rate.
For details on how to test MoneyBadger in the sandbox environment, see the test and go live procedure.
Kenya
| Category | Payment method (parameter) | Currencies | Integrations | Payment types |
|---|---|---|---|---|
| Card | Visa (CARD) | KES and depending on the acquirer, EUR and USD | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA*** |
Mastercard (CARD) | KES and depending on the acquirer, EUR and USD | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA | |
Amex (Equity Bank only) (CARD) | KES | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA | |
| Card, multi-currency | Visa, Mastercard (CARD) | Multiple, depending on the acquirer | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA |
| Mobile money | M-PESA (MPESA) | KES | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions | DB |
* Refund transactions using the Dashboard or the relevant API:
Depending on the payment method, refunds complete in:
- Card: Up to 14 business days
- Other payment methods: Up to 30 days
For payment methods that do not support refunds, you must process refunds manually. One way of doing this is to contact your customer to request their bank account details for an EFT transfer.
** Embedded Checkout and Hosted Checkout do not support the RG payment type, but you can tokenise a card while performing a DB or PA.
*** Follow this guide to capture a preauthorisation.
Mauritius
| Category | Payment method | Currencies | Integrations | Payment types |
|---|---|---|---|---|
| Card | Visa (CARD) | MUR and depending on the acquirer, EUR and USD | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA*** |
Mastercard (CARD) | MUR and depending on the acquirer, EUR and USD | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA | |
Amex (CARD) | MUR and depending on the acquirer, EUR and USD | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA | |
Diners (CARD) | MUR and depending on the acquirer, EUR and USD | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA | |
| Card, multi-currency | Visa, Mastercard (CARD) | Multiple, depending on the acquirer | Embedded Checkout, Hosted Checkout, Payment Links, Payment Page, payment extensions, Server-to-Server, Mobile SDK | DB, RF (full or partial)*, RG**, PA |
| Wallet | blink by Emtel (BLINKBYEMTEL) | MUR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions | DB |
MCB Juice (MCBJUICE) | MUR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions | DB | |
PayPal (PAYPAL) | USD, GBP, and EUR | Hosted Checkout, Payment Links, payment extensions | DB, RF (full or partial)*, RG** | |
| QR code | MauCAS (MAUCAS) | MUR | Embedded Checkout, Hosted Checkout, Payments API, Payment Links, Payment Page, payment extensions, POS | DB |
* Refund transactions using the Dashboard or the relevant API:
Depending on the payment method, refunds complete in:
- Card: Up to 14 business days
- Other payment methods: Up to 30 days
For payment methods that do not support refunds, you must process refunds manually. One way of doing this is to contact your customer to request their bank account details for an EFT transfer.
** Embedded Checkout and Hosted Checkout do not support the RG payment type, but you can tokenise a card while performing a DB or PA.
*** Follow this guide to capture a preauthorisation.
Updated 9 days ago