Bank transfer
Last updated: 2026-07-17
Select a market where the catalog lists bank_transfer in methodsIn, then use
PAYMENT_METHOD_BANK_TRANSFER in a hosted or direct pay-in.
The optional paymentSubMethod is supported only for bank transfer. The current
public value is moniepoint; omit the field when the selected account flow does
not require that submethod.
Integration sequence
- Choose the market through Catalog and availability.
- Initialize a hosted pay-in, or create a direct pay-in with a unique
merchantReferenceandbankTransferDetailsrequest block. - For a direct response, display returned account fields exactly as returned.
For a hosted or later payment read, inspect
paymentOrder.bankTransferDetails.generationStatus. - Display generated account details only after the state becomes
succeeded. Forpendingorprocessing, read the payment again no earlier thanretryAfterwhen it is present. - Ask the customer to complete the transfer before
expiresAt, then confirm the outcome from the latest payment status or a verified webhook.
Payment instructions are not a success confirmation. Do not mark the order paid when the instructions are issued or when the customer returns to your site.
See Pay-ins API for request and response fields, Bank transfer details for generation states, and Payment lifecycle for reconciliation.