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.
Redirect your customers to a secure, mobile-optimized page. We handle the UI, compliance, and every Mobile Money operator.
A secure URL to which you redirect your customers. The rest — UI, validation, operators — is on us.
Optimized for the phone browser. Two-tap PIN validation, numeric keypad for the phone number.
TLS 1.3, encrypted payment, sensitive data never exposed. You stay focused on your product.
French and English interface, auto-detected from the customer's browser.
MTN MoMo and Airtel Money as standard. More local operators coming — with no changes on your side.
184 ms median to create a session. Checkout page served from an African CDN close to the customer.
Email and SMS confirmation sent to the customer. Signed webhook sent to your server in parallel.
Three lines of server code to generate the payment URL. The customer follows it, you receive the HMAC-signed webhook confirmation.
// 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);
// Create a session, redirect $ch = curl_init('https://api.cowemapay.com/v1/checkout/sessions'); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_USERPWD => 'sk_live_••••:', CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query([ 'amount' => 5000, 'method' => 'momo.mtn', 'success_url' => 'https://marie.cg/ok', ]), ]); $session = json_decode(curl_exec($ch)); header('Location: ' . $session->url);
# Create a session, redirect res = requests.post( 'https://api.cowemapay.com/v1/checkout/sessions', auth=('sk_live_••••', ''), data={ 'amount': 5000, 'method': 'momo.mtn', 'success_url': 'https://marie.cg/ok', }, ) return redirect(res.json()['url'])
No need to design waiting, error, or success screens. The hosted page covers them all out of the box.
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.
The customer enters their MoMo PIN on their phone. Animated waiting page during operator confirmation. Polling every 2 seconds.
Insufficient balance, wrong PIN, operator timeout. The customer can retry without losing their session. No fees on failure.
Success animation, amount confirmed, receipt sent by email and SMS. Automatic redirect to your success_url. Signed webhook triggered.
Create a free account, get your sandbox keys, create your first payment session in 5 minutes.