Process overview

Initiate a batch EFT payment

Because payouts cannot be reversed, we strongly recommend executing a bank account verification on the first payout to an account. This ensures that you don't pay the incorrect bank account.

You can make batch EFT payments using the API or the portal.

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


  • For payouts to be completed 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.
  • Batches are processed 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 interbank delays.
  • There is no processing on weekends and public holidays; an error message will advise you to choose a different date should the chosen date be invalid and fall on a non-processing day:
    • Please ensure that batches are initiated in time for processing before weekends and public holidays.
    • Regular processing resumes on the next working day.

Ensure you have sufficient funds

To complete batch EFT payments, you need sufficient 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 interbank clearing.

Handle the unpaids

Payments returned by banks for reasons such as "account frozen" or "account does not exist" are called unpaids.

  • If you submit a batch via API, you'll receive a callback with unpaids.
  • Unpaids can also be viewed in the portal.

Peach Payments refunds unpaids to you every Friday.

The banks indicate that unpaids should be received within five working days. Payments are usually 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. We recommend using universal bank branch codes to avoid errors like incorrect branch code, non-existent branch code, and so on.
  2. Log in to the portal using the credentials supplied by support.
  3. Navigate 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 if you want the batch to be processed on the same day. Select 1 Day if you want the batch to be processed in one day, for example, if you upload the batch on Monday, it will be paid on Tuesday.
  6. Select Paysoft CSV (With Header) from the file format list and click Select.
  7. Navigate 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 the reason and fix it. The check digit verification (CDV) checks the account validity of every payout, but passing this test does not necessarily mean that the bank account is valid and open. However, failing it does mean that there is no such account.
  10. Enter a batch description, select a processing date, select the bank that the payment must be made from, and click Continue.
  11. Before the batch can be paid, 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. When the funds are received by Peach Payments, the batch is processed, keeping in mind the relevant cutoff times.



  1. How do I prevent duplicate batches from being initiated?
  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 we wait to receive unpaid responses before concluding that the other payments for which no unpaid response was received, were successful?
  7. In the event that an unpaid response is not successfully 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 refer to?


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