One integration for every way Ghana pays.
izzipay lets your app accept MTN MoMo, Telecel Cash, AT Money and cards through a single API. Buyers approve with one prompt on their phone, and a built in fallback keeps checkout open when a network has a rough day.
No card data on your servers. No e levy. Amounts always settle in cedis.
MIQ Store
VerifiedOrder #8842 · Instant Settle
Total Due
GH₵ 120.00
Secured by izzipay · Zero buyer fee
Approve payment
GHS 120.00 to MIQ Store. Enter your MoMo PIN to confirm.
Connected to the networks your customers already use
MTN MoMo
Instant USSD prompt & pin confirm
Telecel Cash
Auto-reconciled direct push switch
AT Money
Direct operator routing pipeline
Visa · Mastercard · Apple Pay
Tokenized 3D Secure 2.0 checkout
Three steps from cart to confirmed
The flow is the same whether the buyer pays with mobile money or a card. You create an intent, they approve, and your app hears about it from a source you can trust.
Create a payment intent
Your server calls izzipay with the amount and your order reference. You get back a client token that is safe to hand to the browser. Your secret key never leaves your backend.
The buyer approves on their phone
They choose a network, type their number, and confirm with their mobile money PIN. Cards open a secure hosted page instead. One field, nothing new to learn.
You receive a signed webhook
When the money lands, izzipay posts a signed event to your app and writes the entry to an append only ledger. Treat the order as paid only after that event arrives.
Everything you need to take money safely
The hard parts of payments, handled. Routing, fallback, reconciliation and a ledger that keeps every cedi accounted for.
Smart routing with failover
Every charge goes to the best path for that network. If a provider stumbles, a circuit breaker steps in and Paystack picks up the charge so the sale still goes through.
One field mobile money
Buyers type a single number and approve on their phone. No long forms, no app to install, and no redirect away from your page.
Cards without the PCI weight
Visa and Mastercard run through a hosted page. Card numbers never reach your servers, so your compliance scope stays small.
An append only ledger
Every cedi is recorded in integer pesewas on a ledger that balances or refuses to commit. Corrections are reversing entries, never silent edits.
Signed webhooks and idempotency
Replay safe charges and signed events let you retry without fear of double billing and trust exactly what your app receives.
A checkout you can drop in
Add a popup, embed an inline frame, or build your own UI on the public endpoints. Pick the depth that suits your app.
Calculate your transaction costs
Slide your estimated monthly volume to see your exact net payout. No hidden maintenance charges, no setup costs, and zero e-levy.
Quick Presets:
Net Payout to Your Bank / MoMo
GH₵49,250.00
From zero to a working charge in an afternoon
A clean REST API with predictable JSON, one script tag for the hosted checkout, and public endpoints for fully custom flows. Test the whole thing with sandbox values before you go live.
- Predictable JSON responses with clear error codes
- One script tag for popup or inline checkout
- CORS friendly endpoints for your own UI
- Sandbox values to test approve, decline and timeout
curl -X POST https://izzipaygh.com/api/v1/intents \
-H "Authorization: Bearer $IZZIPAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "12000",
"currency": "GHS",
"reference": "order_8842",
"customer": { "email": "ama@example.com", "phone": "0551234567" }
}'Create a payment intent on your server, then hand the client token to the browser.
Built to move money safely, at scale
Built toward a PSP licence
The ledger and controls are designed so a future Bank of Ghana licence is an incremental step, not a rebuild.
Fallback from day one
Each network launches routed through Paystack, then flips to its own direct API one row at a time, with no code change in your app.
Credentials stay encrypted
Provider keys are encrypted at rest and managed from the admin portal. They are never shipped to the browser or baked into your code.
4
ways to pay, one API
1
field for any mobile money
100%
of amounts in integer pesewas
0
card numbers stored by you
Questions, answered plainly
Still unsure about something? The documentation goes deeper, and the team is one message away.
Ready to take your first payment?
Read the quickstart, drop the checkout into your page, and watch a test charge go through end to end. It really does take an afternoon.