Swiffy EFT Payout Payload

Payment Method Identifier: EFT
Payment Type: BANK_TRANSFER

Swiffy EFT is a South African bank transfer payout method. The customer's bank account details and selected bank are submitted directly in the apmPayload — no redirect or QR code is needed. The request is processed server-to-server and the response returns actionType: NONE.

Currently supported for payouts via POST /api/v1/payouts/apm.


Required Request Fields

Top-Level Fields

FieldTypeDescription
callbackUrlStringURL to receive transaction status updates
successRedirectUrlStringURL to redirect the customer after successful payment
failureRedirectUrlStringURL to redirect the customer after failed payment

Billing Details (ApmBillingDetails)

FieldTypeDescription
emailStringThe customer's email address used for communication or receipts

Payload Structure

{
  "paymentMethod": "EFT",
  "paymentType": "BANK_TRANSFER",
  "account": "4051111222",
  "bank": "ABSA",
  "customer": "John Doe",
  "accountType": "cheque"
}

Payload Fields

FieldTypeRequiredDescription
paymentMethodEnumYesMust be set to EFT
paymentTypeEnumYesMust be set to BANK_TRANSFER
accountStringYesCustomer's bank account number
bankEnumYesDestination bank — one of the supported banks
customerStringYesAccount holder name
accountTypeStringNoAccount type (e.g. cheque, savings)

Supported Banks

ABSA, AFRIBANK, AL BARAKA BANK, BIDVEST, CAPITEC, CAPITEC BUSINESS, DISCOVERY, FIRSTRAND [TRADE SERVICES], FNB, INVESTEC, MERCANTILE, NEDBANK, OLDMUTUAL, RMB PRIVATE BANK, SASFIN, STANDARD, TYME


Expected apmResponseData

{
    "paymentMethod": "EFT",
    "paymentType": "BANK_TRANSFER",
    "providerTransactionId": "270816",
    "actionType": "NONE"
 }

Response Fields

FieldTypeDescription
paymentMethodEnumAlways EFT
paymentTypeEnumAlways BANK_TRANSFER
actionTypeEnumAlways NONE — no customer redirect needed
providerTransactionIdStringUnique transaction ID from the payment provider

EFT results are typically asynchronous — the initial response may be PROCESSING / PENDING. Wait for the webhook to determine the final status.


See Also