Skip to main content
Collection status returns PROCESSING for longer than you expected. This is often normal for mobile money — not a failed payment.

The problem

Execution status progression: PENDINGPROCESSINGCOMPLETED | FAILED MoMo operators can take several minutes while the customer approves on their handset or the carrier confirms.

What not to do

  • Do not call executions/collection again with a new reference_id while status is PROCESSING
  • Do not assume failure and start a duplicate checkout without checking status

Solution

1

Poll execution status

curl "https://api.heydollr.app/v1/status/collection/YOUR_REFERENCE_UUID" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Use the UUID stored before execute. See Status.
2

Use realtime for UX

For live UIs, request a realtime key instead of sub-second polling loops.
3

If status becomes FAILED

Show failure to the payer. Create a new session and new reference_id only for a deliberate retry.
4

If COMPLETED

Fetch receipt via links or invoice/order receipt endpoints when source is PAID.
Last modified on May 22, 2026