South Africa Payin — EFT 900017 / Capitec 900018
Overview

Use the merchant channel code that matches the South Africa payin flow:

  • ZAR EFT — channel 900017 (redirect to bank)
  • ZAR Capitec — channel 900018 (redirect; requires acc_ref: 13-digit SA ID)

See also: South Africa Integration Guide


Endpoint
MethodPOST
URL/api/v2/payment/
Channel (EFT)900017
Channel (Capitec)900018
CurrencyZAR

Integration Flow
  1. POST with channel 900017 (EFT) or 900018 (Capitec) and currency ZAR.
  2. For Capitec, include acc_ref (13-digit SA ID).
  3. Receive redirect_url in the response.
  4. Redirect the customer to complete payment at their bank.
  5. Receive final status on your result_url webhook.

Capitec vs EFT
FlowHow to triggerExtra fields
ZAR EFTChannel 900017Phone in acc_no; omit acc_ref
ZAR CapitecChannel 900018 + acc_ref13-digit SA ID + Capitec phone in acc_no

Example — EFT
{
    "wallet_no": "xxxxxxx",
    "reference": "SA-EFT-001",
    "acc_name": "John Doe",
    "acc_no": "27113785456",
    "email": "john@example.com",
    "currency": "ZAR",
    "amount": 100,
    "channel": 900017,
    "description": "Order payment",
    "result_url": "https://your-server.com/webhook"
}
Example — Capitec
{
    "wallet_no": "xxxxxxx",
    "reference": "SA-CAP-001",
    "acc_name": "John Doe",
    "acc_no": "08166750025",
    "acc_ref": "9401090445083",
    "email": "john@example.com",
    "currency": "ZAR",
    "amount": 100,
    "channel": 900018,
    "description": "Capitec payment",
    "result_url": "https://your-server.com/webhook"
}
Example Response
{
    "success": true,
    "message": "Successfully initiated",
    "data": {
        "transaction_id": "056341150381",
        "status": "PENDING",
        "status_description": "Transaction Initiated successfully",
        "amount": 100,
        "currency": "ZAR",
        "redirect_url": "https://bank-redirect.example.com/...",
        "date": "2026-07-08 12:00:00 PM"
    }
}