Skip to main content
These rules apply to both buyerDebitPaymentDetails and buyerCreditPaymentDetails and also the across all endpoints that accept payment detail objects. Always ensure the selected payment method is valid for the chosen currency — invalid or mismatched field combinations will result in validation errors.

1. BANK_TRANSFER

Typically used for currencies such as NGN, USD, GBP, EUR, CAD, etc. Required fields: accountName, accountNumber, bankCode, providerName, currency, iso2, paymentMethod Additional required fields (GBP & EUR only): holderPostalCode, holderCity, holderStreet
  • bankCode is required. Omit the network field entirely.
  • For NGN, set providerName to the name of the bank (e.g. Access Bank, GTBank).
  • For currencies that use routing or sort codes (e.g. USD, GBP, EUR), set bankCode to the appropriate routing/sort code and providerName to the same code or the name of the financial institution.
  • For GBP and EUR, the additional address fields (holderPostalCode, holderCity, holderStreet) are mandatory.
  • For NGN and CNY, fetch supported banks and their bankCode values from /transaction/{method}/providers (replace {method} with BANK_TRANSFER).
  • To verify an account name for NGN bank transfers, call /transaction/verify-bank-account.

2. MOBILE_MONEY

Typically used for currencies such as GHS, MWK, KES, XOF, UGX, etc. Required fields: accountName, accountNumber, network, providerName, currency, iso2, paymentMethod
  • Omit bankCode entirely. The network field is required and must match providerName (e.g. MTN, Airtel, Vodafone).
  • Fetch supported mobile money providers for a specific country from /transaction/{method}/providers (replace {method} with MOBILE_MONEY).

3. ZELLE

Used for U.S.-based transfers via Zelle. Required fields: accountName, email, currency, iso2, paymentMethod
  • The email must belong to a valid Zelle-enabled U.S. bank account.
  • Omit bankCode and network entirely.

4. INTERAC

Used for Canadian email-based transfers via Interac e-Transfer. Required fields: accountName, email, currency, iso2, paymentMethod
  • Supported for CAD only.
  • Omit bankCode and network entirely.

5. STABLE_CURRENCY

Used for blockchain-based stablecoin transfers such as USDT, USDC, or BUSD. Required fields: walletAddress, network, currency, iso2, paymentMethod
  • Valid networks: TRC20, ERC20, BEP20, SOL, TON.
  • currency must be one of USDT, USDC, or BUSD. The iso2 field should match the currency field.
  • Omit bankCode, accountName, and email.
  • For buyerDebitPaymentDetails, walletAddress is the wallet address you are sending funds from.
  • For the network value, refer to the paymentDetails object in the /utility/exchange-rate response — use the network value from there.

6. ALIPAY

Used for Chinese Yuan (CNY) payments via Alipay. Required fields: accountName, phoneNumber, currency, iso2, paymentMethod
  • Supported for CNY only.
  • phoneNumber is the user’s Alipay account identifier.
  • Omit bankCode, network, and email.

7. WECHAT_PAY

Used for Chinese Yuan (CNY) payments via WeChat Pay. Required fields: accountName, phoneNumber, currency, iso2, paymentMethod
  • Supported for CNY only.
  • phoneNumber is the user’s WeChat Pay account identifier.
  • Omit bankCode, network, and email.

Quick Reference

Payment MethodbankCodenetworkemailphoneNumberwalletAddress
BANK_TRANSFERRequiredOmitOmitOmitOmit
MOBILE_MONEYOmitRequiredOmitOmitOmit
ZELLEOmitOmitRequiredOmitOmit
INTERACOmitOmitRequiredOmitOmit
STABLE_CURRENCYOmitRequiredOmitOmitRequired
ALIPAYOmitOmitOmitRequiredOmit
WECHAT_PAYOmitOmitOmitRequiredOmit