Skip to main content
POST
/
api
/
v3
/
withdraw
/
bank
Withdraw Fiat to Bank Account
curl --request POST \
  --url https://preview.kotanipay.com/api/v3/withdraw/bank \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "customer_key": "customer-key-123",
  "amount": 10,
  "walletId": "5f9b2c7b9c9d6b0017b4e6b1",
  "bankDetails": {
    "account_bank": "ABSA",
    "account_name": "<string>",
    "account_number": "<string>",
    "branch_code": "001",
    "swift_code": "KCBLKENX",
    "phone_number": "+254712345678"
  },
  "callbackUrl": "https://example.com",
  "referenceId": "5f9b2c7b9c9d6b0017b4e6b1",
  "currency": "USD"
}
'
{
  "success": true,
  "message": "Bank 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.

Send money from integrator wallet to customer bank account. Supports Kenya and SA.

Authorizations

Authorization
string
header
required

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

Body

application/json
customer_key
string
required

Customer key

Example:

"customer-key-123"

amount
number
required

amount to withdraw

Example:

10

walletId
string
required

wallet id

Example:

"5f9b2c7b9c9d6b0017b4e6b1"

bankDetails
object
required
callbackUrl
string

callback url

Example:

"https://example.com"

referenceId
string

reference id

Example:

"5f9b2c7b9c9d6b0017b4e6b1"

currency
string

Override transaction currency (e.g. USD for USD mobile money in Congo/Zambia). When provided and matches the wallet currency, phone-country currency validation is skipped.

Example:

"USD"

Response

success
boolean
Example:

true

message
string
Example:

"Bank withdrawal has been successfully created."

data
object