Payouts

Overview

The Payouts API enables you to:

  • Execute instant payouts at any time of the day: Unlike traditional payout methods that can take hours or days, the API processes transactions in real-time, offering immediate access to funds for recipients.
  • Improve operational efficiency: By automating the payout process, the Payouts API minimises manual intervention, reducing operational overhead and the potential for errors.
  • Track payouts in real-time: You can track the status of your payouts in real-time, enhancing transparency and accountability.
  • Integrate seamlessly: A standardised, developer-friendly API reduces the complexity and time required for integration.
  • Scale effortlessly: The API can handle high volumes of transactions, making it suitable for your growing payout needs.
  • Make mobile money payouts in West Africa: Send funds directly to recipients' mobile wallets in seven countries using local mobile money operators.
  • Verify bank accounts before executing payouts: Use bank account verification (BANV) between 03:00 and 23:00 to confirm recipient details before sending funds, reducing the risk of paying the wrong account. See supported banks for the banks that BANV supports.
🚧

See the known limitations section for details on real-time clearing (RTC) processing limits.

❗

You cannot reverse payouts, so Peach Payments strongly recommends executing a bank account verification (BANV) on the first payout to an account, especially for high risk or high value payouts. This ensures that you don't pay the wrong bank account.

Supported countries and currencies

Peach Payments supports payouts to the following countries and currencies:

CountryCurrencyCurrency codePayout method
South AfricaSouth African randZARrealtime-eft
BeninWest African CFA francXOFmobile-money
Burkina FasoWest African CFA francXOFmobile-money
CameroonCentral African CFA francXOFmobile-money
Côte d'IvoireWest African CFA francXOFmobile-money
MaliWest African CFA francXOFmobile-money
SenegalWest African CFA francXOFmobile-money
TogoWest African CFA francXOFmobile-money
🚧

For payouts to Cameroon, set currency to XOF. The Payouts API rejects XAF.

Supported banks

The table below shows which South African banks Peach Payments supports for real-time EFT payouts and for bank account verification (BANV).

🚧

Always use the universal branch code from the table below when creating a payout, regardless of the customer's specific branch.

BankUniversal branch codePayoutsBANVNotes
Absa632005✅✅
Access Bank410105✅✅
African Bank430000✅✅
African Bank Business (formerly Grindrod Bank)584000✅✅
Albaraka Bank800000✅✅
Bank Zero - Mukuru435000✅❌
Bank Zero Mutual Bank888000✅❌
Bidvest Bank462005✅✅
Bidvest Bank Alliances683000✅❌
Capitec Bank (excluding Live Better accounts)470010✅✅
Capitec Business450105✅✅
Discovery Bank679000✅✅
eNL Mutual Bank (formerly YWBN Mutual Bank)353000✅✅
Finbond EPE589000✅❌
Finbond Mutual Bank589000✅✅
Finbond Net1None❌✅
FNB (First National Bank)250655✅✅
GoTyme Bank (formerly TymeBank)678910✅✅
HBZ Bank Limited570105✅❌
Investec Bank Limited580105✅✅
Nedbank198765✅✅
Mercantile Bank (see notes)450105✅❌Use the Capitec Business details and universal branch code to pay out to Mercantile Bank accounts.
Mukuru (see notes)410105✅❌Use the Access Bank details and universal branch code to pay out to Mukuru accounts.
Old Mutual Bank352000✅✅
Rand Merchant Bank (RMB) (see notes)250655✅✅Use the FNB details and universal branch code to pay out to and verify RMB accounts.
Sasfin Bank (see notes)683000✅❌Use the Bidvest Bank Alliances details and universal branch code to pay out to Sasfin Bank accounts.
Standard Bank051001✅✅
Standard Chartered Bank SA730020✅✅
Ubank Ltd431010✅❌

Supported mobile money operators

For mobile money payouts, specify the providerMethod and countryCode parameters in your create payout request. The following table shows the valid combinations:

Operator (providerMethod)Benin (BJ)Burkina Faso (BF)Cameroon (CM)Côte d'Ivoire (CI)Mali (ML)Senegal (SN)Togo (TG)
Djamo (djamo)✅✅
Expresso (expresso)✅
Free Money (free-money)✅
Moov Money (moov)✅✅✅✅
MTN (mtn)✅✅✅
Orange Money (orange-money)✅✅✅✅
T-Money (t-money)✅
Wave (wave)✅✅

Process overview

📘

Before executing any payouts, you should send Peach Payments a source of funds document for compliance reasons.

You can use the Payouts API to make payouts to suppliers, employees, partners, or customers. The payout method depends on the payout currency:

  • Payouts in South African rand (ZAR) use real-time EFT.
  • Payouts in West African CFA franc (XOF) use mobile money.

The process differs slightly depending on the payout method.

🚧
  • After a payout is successfully submitted, you cannot recall it.
  • Refunds are not supported.
  • Failed payouts incur fees.
  1. To execute instant payouts, you must have enough funds in your Peach Payments account to cover the payout request. Deposit funds into the Peach Payments account using your unique reference, keeping in mind the known limitations.
    📘

    Peach Payments processes deposits every two hours, with the processing covering the first two of the last three hours:

    Deposits included fromDeposits included toProcessing time
    00:0002:0003:00
    02:0004:0005:00
    04:0006:0007:00
    06:0008:0009:00
    08:0010:0011:00
    10:0012:0013:00
    12:0014:0015:00
    14:0016:0017:00
    16:0018:0019:00
    18:0020:0021:00
    20:0022:0023:00
    22:0000:0001:00

    If you deposit funds using:

    • An RTC payment, your deposit could reflect in your account anywhere between one hour and one minute and three hours later. To ensure the shortest time between deposit and the funds reflecting in your account, deposit your funds before the times in the Deposits included to column. See the known limitations section for details on RTC processing limits.
    • A normal EFT, your deposit might take up to two business days to reflect in your account, depending on cut-off times.
    🚧
    • You cannot use PayShap to deposit funds into the Peach Payments account. Use RTC (recommended) or EFT.
    • You cannot deposit funds into the Peach Payments Payouts account from a GoTyme Bank Everyday account.
  2. Verify the bank accounts that you are going to pay, keeping in mind the known limitations.
  3. Create the payout request.
  4. Check the reasons for any failed payouts, fix their details, and try again.
📘

The value of any failed payouts returns to your float balance for you to use on future payouts.

Duplicate checking

Peach Payments recommends that all create payout requests include a unique payoutId. While a unique payoutId is not yet mandatory, it will become mandatory soon and the API will reject any duplicate requests that arrive with the same payoutId.

Known limitations

  • In South Africa, RTC operates with specific "dark hours" or processing windows that limit the value of transactions that you can process during those times:
    • Business days (Monday to Friday): Day time (00h00:01 - 16h00), you can process RTC transactions with a limit of R5,000,000.
    • Overnight (16h00:01 - 00h00) and during weekends or public holidays: The limit is R250,000.
  • You cannot pay out to:
    • Capitec Live Better accounts.
    • GoTyme Bank SME account numbers that begin with 53.
  • You cannot deposit funds into the Peach Payments Payouts account:
    • Using PayShap. Use RTC (recommended) or EFT instead.
    • From a GoTyme Bank Everyday account.
  • Bank account verification operates between 03:00 and 23:00.
  • Peach Payments holds a separate float balance for each country. Funds that you deposit for one country are not available for payouts in another country.
  • You can only make mobile money payouts using the Payouts API. You cannot use the Dashboard to make single or bulk payouts.
  • Each mobile money payout must be a whole amount between 200 and 5,000,000 in the payout currency. The Payouts API expects amounts in minor units, so set the amount to a multiple of 100 from 20000 to 500000000. The API accepts amounts that are not multiples of 100, but in production, the recipient receives the amount rounded up to the next whole amount. For example, if you set the amount to 20050, the recipient receives 201, not 200.50. In sandbox, those payouts fail.
  • Sandbox testing might fail intermittently outside of South African office hours.

Quick links


Did this page help you?