ccowemaPay
Hosted Checkout · production-ready

A payment page ready to use.

Redirect your customers to a secure, mobile-optimized page. We handle the UI, compliance, and every Mobile Money operator.

Create an account → See the API
Mobile-optimized FR / EN Direct MoMo payout
pay.cowemapay.com/cs_3K2pX9z
M
marie.beauty.cgvia cowemaPay
You pay
5 000XAF
Glow cream 100ml
Subtotal5 000 XAF
Fees0 XAF
Total5 000 XAF
Aïcha Mboungou
MMTN MoMo
AAirtel
+242
06 0000 0000
Pay 5,000 XAF
🔒 Secure payment · 184ms
Why Hosted Checkout

Zero UI to build. Zero customer-side friction.

A secure URL to which you redirect your customers. The rest — UI, validation, operators — is on us.

Mobile-first

Optimized for the phone browser. Two-tap PIN validation, numeric keypad for the phone number.

End-to-end secure

TLS 1.3, encrypted payment, sensitive data never exposed. You stay focused on your product.

Multilingual

French and English interface, auto-detected from the customer's browser.

All operators

MTN MoMo and Airtel Money as standard. More local operators coming — with no changes on your side.

Low latency

184 ms median to create a session. Checkout page served from an African CDN close to the customer.

Automatic receipt

Email and SMS confirmation sent to the customer. Signed webhook sent to your server in parallel.

Integration

Create a session, redirect. That's it.

Three lines of server code to generate the payment URL. The customer follows it, you receive the HMAC-signed webhook confirmation.

POST · api.cowemapay.com/v1/checkout/sessions ● 200 OK · 184ms
// Create a payment session, redirect
const res = await fetch('https://api.cowemapay.com/v1/checkout/sessions', {
  method: 'POST',
  headers: { 'Authorization': `Basic ${auth}` },
  body: new URLSearchParams({
    amount: '5000',
    method: 'momo.mtn',
    success_url: 'https://marie.cg/ok',
    cancel_url:  'https://marie.cg/nope',
  }),
});
const session = await res.json();
// Redirect the customer
response.redirect(session.url);
Covered states

Every scenario, handled for you.

No need to design waiting, error, or success screens. The hosted page covers them all out of the box.

1 Arrival

The customer opens the payment page

The customer clicks your link. The checkout page loads in under a second, optimized for their phone. Amount, merchant and operator are already pre-filled.

2 Awaiting PIN

Customer confirmation

The customer enters their MoMo PIN on their phone. Animated waiting page during operator confirmation. Polling every 2 seconds.

3 Temporary failure

Retry or switch operator

Insufficient balance, wrong PIN, operator timeout. The customer can retry without losing their session. No fees on failure.

4 Payment received

Confirmation and payout

Success animation, amount confirmed, receipt sent by email and SMS. Automatic redirect to your success_url. Signed webhook triggered.

Pay marie.beauty.cg
You pay
5 000 XAF
Glow cream 100ml
MMTN MoMo +242 06…
Pay 5,000 XAF
Waiting · marie.beauty.cg
Confirm on your phone
Enter your MoMo PIN on the phone for number +242 06… 0000
● Status: awaiting_pin
⚠ Payment not confirmed
Insufficient balance on this number. Try another number or switch operator.
AAirtel
MMTN
Retry payment
✓ Payment received
You paid
5 000 XAF
to marie.beauty.cg
Receipt sent to +242 06…
Ref. cs_3K2pX9z
Back to marie.cg
Domain
pay.cowemapay.com
Custom domain available on enterprise plans (white-label).
Availability
99.9% SLA
Checkout page served from a multi-region African CDN.
Security
TLS 1.3
+ HMAC webhooks
End-to-end encrypted checkout page. Server-side signed notifications.
Webhook
HMAC SHA-256
Signed, idempotent, replay protection. Replay dashboard included.

One URL. Your customers pay.
You get paid.

Create a free account, get your sandbox keys, create your first payment session in 5 minutes.