1. Create the account
Call Bank transfer.Response
2. Show the details
Display these to the customer:- Bank:
bankName(andbankLogoif you like) - Account number:
accountNumber - Amount:
amount, stated as an exact figure - Pay before:
expiresAt, ideally with a countdown
externalReference.
3. Confirm the payment
You’ll get atransaction_created webhook when the account is issued and a transaction_updated webhook with status: "successful" or "failed" when it settles. Bank transfers can take longer than mobile money, so prefer webhooks over polling.
To check manually, use Get transaction. A settled transfer has chargeStatus: "successful", method: "bank" and the bank’s thirdPartyReference.
Good practice
- Don’t fulfil when the account is created. Wait for
successful. - Store both
transactionIdandexternalReferenceagainst the invoice. - Remind the customer to send the exact amount, without deducting their own bank charges.

