Skip to main content
Most collections follow the standard mobile money charge flow: you create the charge, the customer approves a prompt, you wait for a webhook. Some markets do not work that way. These recipes cover corridors where the customer has to do something before or after you create the charge — generate a code, redeem a voucher, or confirm from a USSD menu.

Africell — Gambia & DR Congo

GMD and CDF. The customer confirms the payment from a USSD menu after you create the charge.

Orange Money — Burkina Faso

XOF. The customer generates a one-time payment code for the exact amount before you charge.

Orange Money — Côte d'Ivoire

XOF. The customer generates a 4-digit authorisation code by SMS before you charge.

OTT Voucher — Botswana

BWP. The customer buys a voucher and gives you the PIN to redeem.

What they have in common

1

Look up the operator code

Every recipe needs the right momoOperatorId — see mobile money operators.
2

Guide the customer through their step

Each page includes copy you can adapt for your checkout.
3

Create the charge

With any extra field the corridor requires — otpCode or voucherPin.
4

Confirm before fulfilling

A successful API response means accepted, not paid. Wait for the final status.
In every one of these flows, never ask the customer for their wallet PIN in your checkout. The PIN belongs only in the operator’s own prompt. Zerocash needs the one-time code or voucher PIN — never the wallet credential.