Skip to main content
POST
/
api
/
v3
/
withdraw
/
v2
/
bank
BANK WITHDRAWAL
curl --request POST \
  --url https://preview.kotanipay.com/api/v3/withdraw/v2/bank \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "bankDetails": {
    "name": "George Smith",
    "address": "Unit 163 Richmond Street, 25 Allan Road, Oakdene, 4250",
    "phoneNumber": "712345678",
    "bankCode": "2500",
    "accountNumber": "63122514698",
    "country": "ZA"
  },
  "currency": "ZAR",
  "amount": 100,
  "referenceId": "1234567890",
  "callbackUrl": "https://your-domain.com/webhook"
}
'
{
  "success": true,
  "message": "Withdrawal has been successfully created.",
  "data": {
    "id": "<string>",
    "message": "<string>",
    "referenceId": "<string>",
    "referenceNumber": 123
  }
}

Documentation Index

Fetch the complete documentation index at: https://manual.kotanipay.com/llms.txt

Use this file to discover all available pages before exploring further.

This API handles payout to bank, currently only supports SA Banks.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
bankDetails
object
required
currency
enum<string>
required

The currency of the transaction

Available options:
KES,
GHS,
NGN,
ZAR,
ZAR,
USD,
XOF,
ZMW,
XAF,
SLE,
CDF,
TZS,
UGX,
EGP,
MWK,
RWF,
ETB,
MZN,
LSL,
GNF,
USDT,
BTC,
ETH,
USDC
Example:

"ZAR"

amount
number
required

The amount of the transaction

Example:

100

referenceId
string
required

The reference id of the transaction

Example:

"1234567890"

callbackUrl
string

Callback URL to receive withdrawal status updates

Example:

"https://your-domain.com/webhook"

Response

success
boolean
Example:

true

message
string
Example:

"Withdrawal has been successfully created."

data
object