Process overview

Execute a batch EFT payment

You cannot reverse payouts, so Peach Payments strongly recommends executing a bank account verification on the first payout to an account. This ensures that you don't pay the wrong bank account.

You can make batch EFT payments using the API or the portal (see below for more details).

After initiating a batch payment, execute a check digit verification (CDV) to check the account validity of every payout. Passing this test does not always mean that the bank account is valid and open, but failing it does mean that there is no such account.


  • To complete a payout on a particular day, the funds and instructions must reach Peach Payments before 12 noon for the merchant to receive their funds on that same day.
  • Peach Payments processes batches throughout the day until cutoff at 16:00.
  • Your beneficiaries should receive the funds in their accounts from 20:00 onwards, but keep in mind inter-bank delays.
  • No processing on weekends and public holidays; an error message advises you to choose a different date should the chosen date be invalid and fall on a non-processing day:
    • Esure that you start batches in time for processing before weekends and public holidays.
    • Regular processing resumes on the next working day.

Ensure you have enough funds

To complete batch EFT payments, you need enough funds. Either transfer the exact amount per batch to the Peach Payments Nedbank Payout Account or use a float to pay out from.


The funds must be in the Peach Payments bank account before Payouts can release the funds, so factor in time for inter-bank clearing.

Handle the unpaids

Unpaids are payments returned by banks for reasons such as "account frozen" or "account does not exist".

  • If you submit a batch via API, you receive a callback with unpaids.
  • You can also view unpaids in the portal.

Peach Payments refunds unpaids to you every Friday.

The banks state that you should receive unpaids in five working days. Payments are generally all complete by the end of day two, but there are some fringe cases where this can take longer, for example, payment made to a closed account. portal

Make batch EFT payments using the portal as follows:

  1. Prepare a CSV for upload using this template. Peach Payments recommends using universal bank branch codes to avoid errors like wrong branch code, non-existent branch code, and so on.
  2. Log in to the portal using the credentials supplied by support.
  3. Go to Payments > Creditors and click Import batch.
  4. If you have multiple clients assigned to your account, select the appropriate client from the list and click Select Client.
  5. Select 1 Day or SDV from the service type list. Select SDV to process the batch on the same day. Select 1 Day to process the batch in one day, for example, if you upload the batch on Monday, it gets paid on Tuesday.
  6. Select Paysoft CSV (With Header) from the file format list and click Select.
  7. Go to the CSV that you prepared in step 1, select it, and click Open.
  8. Click Continue.
  9. On the File validation results screen, confirm that all records passed validation. If any records failed validation, check why and fix it. The check digit verification (CDV) checks the account validity of every payout, but passing this test does not always mean that the bank account is valid and open. Failing it does mean that there is no such account.
  10. Enter a batch description, select a processing date, select the bank to make the payment from, and click Continue.
  11. To pay the batch, you must deposit the required funds into the appropriate bank account, using your customer ID as the reference. Click Download payment request to get the details of the bank account that you need to pay.
  12. After receiving the funds, Peach Payments processes the batch, keeping in mind the relevant cutoff times.



  1. How do I prevent the initiation of duplicate batches?
  2. Which account type values are acceptable?
  3. How does Peach Payments manage float?
  4. How do I check my payouts balance?
  5. What happens when a payment to a recipient fails?
  6. How long should I wait to receive unpaid responses before concluding that the other payments for which we did not receive unpaid responses, were successful?
  7. If an unpaid response is not delivered to the callback URL, at what intervals does the system keep trying to deliver the unpaid result to the merchant's callback URL?
  8. What do the CustomerCode and Reference parameters do?


  1. Is there a retry mechanism for unpaids callbacks?
  2. What IP addresses must I add to the allowlist for payouts callbacks?
  3. How can I test unpaid notifications on my callback URL?