We recommend checking out the introductory
section to understand the basics of direct
charge first. This guide assumes you’ve read that.
Bank transfer is currently only supported for NGN transactions.
The Process
Collecting payments via bank transfer charge is straightforward:- You call the bank transfer charge endpoint to create a charge and generate account details for the customer to pay into.
- The customer transfers to the generated account.
- We send you a webhook notifying you that we’ve received the payment.
- You verify the payment and complete the customer’s order.

Initiating the Charge
To initiate the charge, you’ll call the bank transfer charge endpoint, which is supported in some of our backend SDKs. You’ll need to specify:tx_ref: A unique reference code that you’ll generate for each transaction.amount: The amount to be charged for the transaction.currency: The currency to be used for the charge (currently always “NGN”).email: The customer’s email address.
You can also specify a list of subaccounts to split the payment into. See
split payments for details.
phone_number and additional meta. See the endpoint docs for details.
Success
Completing the Payment
Themeta.authorization object contains the account details for the transfer: the bank name (transfer_bank), account number (transfer_account), and amount (transfer_amount). Pass the details on to your customer, and they can make a transfer into the account (for instance, from their bank app).
Testing TipIn Test Mode, all bank transfers will automatically be paid after a few seconds.