Skip to main content

Payment methods

Last updated: 2026-08-11

Select a payment method from the account catalog before creating a payment. Availability depends on the direction, market, realm, and request context.

Request enum values​

ValuePay-inPayoutNotes
PAYMENT_METHOD_BANK_ACCOUNTYesYesUse bank discovery when the flow needs a bank code
PAYMENT_METHOD_BANK_TRANSFERYesNoHosted or direct pay-in; optional public submethod moniepoint
PAYMENT_METHOD_MOBILE_MONEYYesYesUse operator discovery when merchant-side selection is required
PAYMENT_METHOD_MOBILE_MONEY_TRANSFERYesNoCustomer-initiated transfer; discover the inbound rail with pay-in operator discovery
PAYMENT_METHOD_CARDNoNoThe enum exists, but merchant create operations reject it

Discover availability​

GET /merchant/api/v1/catalog returns the markets enabled for your account. Each market contains countryCode, currencyCode, methodsIn, and methodsOut.

Catalog values such as mobile_money, mobile_money_transfer, bank_transfer, and bank_account are discovery tokens. Payment requests use the corresponding PAYMENT_METHOD_* enum value.

After choosing a market and method:

  • use pay-in bank or operator discovery for a direct inbound flow;
  • use payout bank or operator discovery for an outbound flow;
  • reuse returned bank and operator codes exactly as returned.

Do not hard-code account availability from this page. Discover it at runtime and handle a method becoming unavailable before payment creation.

Keep request context aligned​

Use the selected market country and currency when creating the payment. Send the same paymentMethod, trafficVertical, and customerSegment context in discovery and create requests.

An explicit supported trafficVertical takes precedence over the account default for that request. If it is omitted or unspecified, the account classification can be applied. See Conventions.

For standard mobile-money pay-ins and payouts, treat the returned public CAPS operator as opaque and reuse it exactly. Hosted standard mobile money sends it when the selected market requires an operator. Mobile money transfer always discovers and sends a transfer rail code: use mobileMoneyOperator for hosted initialization or mobileMoneyTransferDetails.operator for direct creation. Voucher-based standard mobile-money pay-ins add a voucher PIN only when the selected route requires one.

Continue​