Skip to main content
POST
cURL
When name lookup is available for the selected bank, the response includes nameLookupStatus (RESOLVED or UNAVAILABLE). If UNAVAILABLE, receiver.accountName is omitted — pass your own verified name on Create Bank Payout.
If the merchant has not yet received a successful payment or deposit, this endpoint returns 404 with the message: No balance account is linked to this merchant yet. Balance becomes available after the first successful payment or deposit.

Authorizations

Authorization
string
header
required

Authorization header containing the JWT access token returned from the generate token endpoint. The token already includes the Bearer prefix. Example: Authorization: Bearer eyJhbGciOi...

Body

application/json
amount
number
required
accountNumber
string
required
currency
enum<string>
required

Account currency to pay out from (TZS or USD)

Available options:
TZS,
USD
orderReference
string
required

Your unique Order reference

bic
string
required

Beneficiary bank BIC. You can fetch the list of bank BICs from the banks list endpoint.

accountCurrency
enum<string>
default:TZS

Receiving currency for the payout (TZS)

Available options:
TZS
transferType
enum<string>

Optional. Accepted for existing integrations. ClickPesa selects the settlement rail — use the response transferType.

Available options:
ACH,
RTGS
checksum
string

If enabled, this is the generated checksum of the payload. Refer to the documentation for more details.

Response

Bank payout preview response

amount
number

Total amount to be deducted from your account balance (includes fee)

Example:

1047.1

balance
number
Example:

2000

channelProvider
string
Example:

"AMANA BANK LIMITED"

fee
number

Transaction fee deducted from source currency (included in amount)

Example:

47.1

exchanged
boolean

Indicates if currency conversion was applied (true when source currency differs from receiving currency)

Example:

true

exchange
object

Exchange rate details (only present when exchanged is true)

order
object
payoutFeeBearer
enum<string>
Available options:
merchant,
both,
customer
Example:

"merchant"

nameLookupStatus
enum<string>

Indicates whether the beneficiary name was resolved. RESOLVED when receiver.accountName is present; UNAVAILABLE when lookup did not return a name.

Available options:
RESOLVED,
UNAVAILABLE
receiver
object
transferType
enum<string>

Settlement applied to this payout.

Available options:
ACH,
RTGS,
GTB
Example:

"ACH"

estimatedArrival
enum<string>

Expected time for funds to arrive.

Available options:
Instant,
1-3 Working Days
Example:

"Instant"