API reference

API overview

Conventions shared by every endpoint.

RuleDetail
FormatJSON over HTTPS. Send Content-Type: application/json.
Moneyamount_minor is an integer in pesewas: GH₵ 120.00 is 12000. Minimum 100 (GH₵ 1.00), maximum 100000000.
CurrencyGHS.
Methodsmtn_momo, telecel_cash, at_money, visa, mastercard.
Unknown fieldsRejected with 422. Never send card numbers to the API: card details are entered on the bank’s secure page.
Rate limit120 requests a minute per key by default. Over the limit: 429 with Retry-After.

Payment statuses

statusMeaning
pendingCreated, not yet sent to the bank.
processingWaiting for the customer to approve (MoMo prompt or card 3-D Secure).
successfulConfirmed by the bank, server to server. Safe to deliver.
failedDeclined or timed out. No money was taken. failure_reason explains why.
cancelledThe customer cancelled.

needs_review

If the bank’s answer ever disagrees with our record (amount, currency or reference), the payment stays processing with needs_review: true and is never marked successful automatically. Our team checks it.