South Africa
Bank transfer payments in ZAR
Before you start
Authorization
How to sign your requests with the API token.
Create payment
The base order request that this page extends.
This payment method is not enabled for all merchants. Check availability with your manager.
Overview
| Currency | Country code | Payment method |
|---|---|---|
ZAR | ZA | Bank transfer |
The payer is redirected to paymentLink and completes the transfer on the provider page.
What is different from a regular order
The order is created through the standard POST /v1/orders endpoint. The base fields (amount, currency, successUrl, failUrl, callbackUrl, etc.) are the same as for a regular order; on top of them you pass the customer object with payer details.
| Field | Type | Description |
|---|---|---|
customer | object | Payer details. The required set is listed below |
Customer fields
| Field | Type | Required | Description |
|---|---|---|---|
country | string | ✅ Yes | Country code, always ZA |
email | string | ✅ Yes | Payer email |
phone | string | ❌ No | Payer phone number, format 27XXXXXXXXX |
firstName | string | ✅ Yes | First name |
lastName | string | ✅ Yes | Last name |
customer.country and at least one of customer.email or customer.phone are required.
Request example
{
"purpose": "Payment for order #1234",
"amount": "1000.5",
"currency": "ZAR",
"externalId": "external_id",
"externalUserId": "external_user_id",
"successUrl": "https://example.com/success",
"failUrl": "https://example.com/fail",
"callbackUrl": "https://example.com/webhooks/payments",
"isFeeOnUser": false,
"customer": {
"firstName": "John",
"lastName": "Doe",
"country": "ZA",
"phone": "27000000000",
"email": "john.doe@example.com"
}
}Response
The response is a standard order object. The order is created with the CREATED status; redirect the payer to paymentLink to complete the payment.