Appearance
Account and methods
GET /api/v1/account
Requires payouts:read. Returns your prefunded gateway account inside the success envelope. available must cover the payout amount plus the effective fee from /methods. reserved is held for unfinished payouts. All amounts are ZAR decimal strings.
GET /api/v1/methods
Requires payouts:read. Returns a data array of enabled methods allowed for your vendor, including effective limits, fees, increments and bank-detail requirements. available is true when global execution and vendor automatic dispatch are enabled. It is not a live provider-health or balance check. Disabled methods are omitted. Read these values before submitting; limits can change.
Supported contract slugs: standard_bank_instant_money, nedbank_cardless, rtc_eft, voucher_1voucher, voucher_ott, voucher_blu, voucher_easyload. Send the method slug in method.
Cash payouts require R10 multiples. RTC EFT accepts cents and requires recipient.bank_account. See payout rules.
Cash and bank methods
Provider availability is fetched from OTT. Operators configure payout limits; OTT's active-provider response contains names and codes, not account limits. Use GET /api/v1/methods for your enabled methods, effective limits and fees. The mappings below describe supported integrations, not a seeded catalogue. Send method slugs, not internal product codes.
| Method | OTT code | Integration |
|---|---|---|
standard_bank_instant_money | 2 | Standard Bank Instant Money |
nedbank_cardless | 4 | Nedbank Cardless Withdrawal |
rtc_eft | 68 | RTC EFT |
Voucher methods
All voucher purchases use the Flash gateway. Product names, availability and initial limits are fetched from its catalogue API. Operators can configure provider and vendor limits. Read GET /api/v1/methods for effective limits. Only implemented voucher integrations are offered as payout methods.
| Method | Source | Product code | Integration |
|---|---|---|---|
voucher_1voucher | flash | 311 | 1Voucher |
voucher_ott | flash | 1393 | OTT Voucher |
voucher_blu | flash | 1652 | Blu Voucher |
voucher_easyload | flash | 1651 | EasyLoad |
GET /api/v1/methods includes kind as cash, bank or voucher, source as ott or flash, and delivery as pin or null for bank transfers. Its fee is the effective vendor fee in ZAR. Voucher payouts never carry a fee (always 0.00), so the smallest amount a voucher product allows can be bought. Cash and bank fees use a per-method vendor fee, else the account's fee_per_payout. Fees are fixed on creation and reserved together with the face value.
The recipient identity block is still required for the gateway's records. Recipient identity, phone and request metadata are not sent to Flash. The vendor retrieves the voucher through audited delivery access and delivers it to the recipient.
Account fields
| Field | Type | Required | Details |
|---|---|---|---|
id | string | Yes | |
name | string | Yes | |
available | string | Yes | Pattern: ^(0|[1-9][0-9]*)\.[0-9]{2}$ |
reserved | string | Yes | Pattern: ^(0|[1-9][0-9]*)\.[0-9]{2}$ |
fee_per_payout | string | Yes | Pattern: ^(0|[1-9][0-9]*)\.[0-9]{2}$ |
currency | string | Yes | ZAR |
Method fields
| Field | Type | Required | Details |
|---|---|---|---|
method | string | Yes | standard_bank_instant_money, nedbank_cardless, rtc_eft, voucher_1voucher, voucher_ott, voucher_blu, voucher_easyload |
name | string | Yes | |
minimum | string | Yes | Pattern: ^(0|[1-9][0-9]*)\.[0-9]{2}$ |
maximum | string | Yes | Pattern: ^(0|[1-9][0-9]*)\.[0-9]{2}$ |
increment | string | Yes | Pattern: ^(0|[1-9][0-9]*)\.[0-9]{2}$ |
available | boolean | Yes | Global execution and vendor automatic dispatch are enabled and the source catalogue is fresh. Not a live provider-health or balance check. |
requires_bank_account | boolean | Yes | |
kind | string | Yes | cash, bank, voucher |
delivery | string or null | Yes | pin, null |
fee | string | Yes | Pattern: ^(0|[1-9][0-9]*)\.[0-9]{2}$ |
source | string | Yes | ott, flash |
unavailable_reason | string or null | Yes | PAYOUTS_PAUSED, CATALOGUE_STALE, null; Why a listed method cannot take a new payout right now. Methods the vendor may not use, that the source no longer lists or that an operator disabled are omitted from the list. |
catalogue_synced_at | string or null | Yes | Format: date-time |

