Skip to content

Collect

Money → Collect is “Ask someone to pay you, now.” Request by phone needs collection.create, and Share a payment link needs billing.write. Owner, admin, finance and developer hold both; members hold neither. Both ways run in the environment the portal is switched to, so a test collection uses test money.

Both offer only the methods your account can use today; see Which methods you can use.

Neither is a separate payment path. A collection made here goes through the same checks as one from the API: your verification and limits, risk screening, and blocked payers.

Two cards at the top choose how to collect:

Card What it does
Request by phone “Their phone gets a prompt for the amount, from your business name.”
Share a payment link “Send a link or QR code; they pay by mobile money or card.”

Beside the form, What happens explains the steps for the chosen card. For a phone request the last one is “If they decline or let it expire, nothing is retried. Send another when they are ready.” Recent prompts lists your latest prompts with the payer, amount and status, updating live.

Field Notes
Amount A large field, in your settlement currency.
What it’s for Required, up to 200 characters. “Kept with the payment, and shown to them where the network allows.” For example Order 1042.
Phone number The number to prompt. No customer record is needed.
Name Looked up from the network once the number is a full Ghanaian number and the network is chosen: “As the network has it. Saved with their number.” Typed by hand if no name is found. Saved with a new payer.
Network Buttons, “picked from the number. Change it if wrong.”

Choose from your customers swaps the number for a search of your customers by name. Type a number instead swaps back. No name is looked up for a saved customer.

The name lookup is the same as on Payouts: free from the portal, and 60 lookups per person per hour. If lookup isn’t available for that network, or the number has no account, the form says so and you type the name. A lookup that failed for a passing reason offers Try again; one that found no account doesn’t, so fix the number. Send a prompt waits until the lookup has answered, so a new payer isn’t saved without a name. For a saved customer nothing is looked up, so there is no wait.

The network is picked from a Ghanaian number’s prefix, with or without +233:

Network Prefixes
MTN 024, 025, 053, 054, 055, 059
Telecel 020, 050
AirtelTigo 026, 027, 056, 057

A wrong network sends the prompt nowhere, so check it for a number that has moved networks.

Send a prompt sends one prompt to that number: a single payment, through the same engine as POST /v1/charges, with the same fees, limits, verification, capability and risk checks. The payer is the customer you chose, or the one on file with that number, added if there isn’t one. A blocked customer can’t be prompted.

It is not an invoice. There is no bill, no SMS about one, no due date and no retries: a prompt they decline or let expire is final, and you send another when they are ready. Each form send carries its own idempotency key, so a double click never prompts twice. For a bill with payment terms, use a one-off invoice under Billing.

The prompt is mobile money only. If your account can’t collect over mobile money yet, the form says “Mobile money cannot be collected yet:” followed by the reason, and can’t be sent.

After Send, a status box shows the request’s reference and where it stands, updating live:

Status Meaning
Sending “Sending the prompt…” Waiting for the payment engine, which takes a couple of seconds.
Waiting “Waiting for them to approve it on their phone.”
In review “Held for a routine check before it completes.”
Paid “They approved it. The money is on your balance.”
Expired / Not paid They let it expire, or declined; with the reason. Nothing is retried.
Not sent Refused before anyone was prompted, with the reason (a limit, your verification, a blocked payer…).

Dismiss appears once it is final. The payment is also in Transactions, where its merchant reference is the request’s PCO-… reference.

From the API: POST /v1/collections (collection.create, with an Idempotency-Key) takes amount_minor, currency, description, momo_network_id, and phone (optional when customer_id names a customer with a number), name and customer_id. It returns the request as queued, then submitted (the charge was created and the prompt sent) or refused (with failure_message; nobody was prompted). GET /v1/collections and GET /v1/collections/{id} need transaction.read.

Field Notes
Amount Fixed, in your settlement currency.
What it’s for Required, at least two characters. The link’s title, for example Deposit for the October order.

It offers mobile money, card or both: whichever your account can take payments over today. When it can take neither, the panel says “No payment method can take a payment on this account yet”, with the reason, and the link can’t be made.

The result shows a large QR code, the address, Copy link, Share on WhatsApp and Make another. The link closes after one payment, and you’re told when it’s paid. Find it later under Payment links, where you can pause or archive it like any other link.

For links with more options (payer chooses the amount, instalments, questions, several payments), use Payment links → New payment link.