ccowemaPay
API REST · v1 stable

L'API REST pour le Mobile Money africain.

Une seule API HTTP propre. MTN Mobile Money, Airtel Money, webhooks signés HMAC. Aucun SDK requis — un simple curl suffit.

Créer un compte → Voir les exemples
Sandbox illimité, gratuit Webhooks HMAC-SHA256 Idempotency keys natives
POST · api.cowemapay.com/v1/checkout/sessions ● 200 OK · 184ms
# Créer une session de paiement hosted-checkout
curl https://api.cowemapay.com/v1/checkout/sessions \
  -u sk_live_••••: \
  -H "Idempotency-Key: $(uuidgen)" \
  -d amount=5000 \
  -d currency=XAF \
  -d method=momo.mtn \
  -d customer_phone="+24206…" \
  -d success_url="https://marie.cg/ok" \
  -d cancel_url="https://marie.cg/nope"

# Réponse · 184ms
{
  "id":        "cs_3K2pX9z",
  "status":    "awaiting_pin",
  "url":       "https://pay.cowemapay.com/cs_3K2pX9z",
  "expires_at": 1715812938,
  "livemode":  true
}
Quickstart

De zéro au premier paiement en 4 étapes.

Sandbox immédiat dès l'inscription, basculement production en 1 clic après vérification de votre compte.

01

Créez un compte

Email + mot de passe. Clés sandbox générées automatiquement.

02

Récupérez vos clés

Dashboard → API → sk_test_… et webhook secret.

03

Premier curl

POST /v1/checkout/sessions. Vous récupérez une URL de paiement.

04

Recevez le webhook

payment.succeeded signé HMAC. Bouclez votre logique métier.

Aller-retour

Une requête, une réponse, un webhook.

Le flot complet d'une transaction réussie. La réponse contient l'URL de checkout à présenter au client, puis vous recevez un webhook signé quand le paiement est confirmé.

REQUEST POST · /v1/checkout/sessions
# Headers Authorization: "Basic c2tfbGl…" Idempotency-Key: "3a9z-2026" # Body (form-encoded) amount=5000 currency=XAF method=momo.mtn customer_phone=+24206… success_url=https://marie.cg/ok metadata[order_id]=ord_4421
RESPONSE 200 OK 184 ms
{ "id": "cs_3K2pX9z", "object": "checkout_session", "status": "awaiting_pin", "amount": 5000, "currency": "XAF", "method": "momo.mtn", "url": "https://pay.cowemapay.com/cs_3K2pX9z", "expires_at": 1715812938, "livemode": true, "metadata": { "order_id": "ord_4421" } }
01 · Votre serveur
POST /v1/checkout/sessions

Vous créez la session

02 · Client
Hosted Checkout

Paie sur pay.cowemapay.com

03 · Votre serveur
Webhook payment.succeeded

Signé HMAC-SHA256

Langages supportés

Aucun SDK requis. Tout passe par HTTP.

Mais si vous préférez une bibliothèque officielle, nous en publions pour les 6 langages les plus courants. Vous pouvez aussi tout faire avec un simple client HTTP.

JS
Node.js

npm i cowema

PHP
PHP

composer require cowema

PY
Python

pip install cowema

GO
Go

go get cowema

JV
Java

maven · gradle

RB
Ruby

gem install cowema

Sandbox

Testez gratuitement, sans limite, sans vérification préalable.

Vos clés de test sont disponibles dès l'inscription. Aucune validation requise. Tous les opérateurs simulés, tous les scénarios d'échec couverts. Basculement production en 1 clic.

Obtenir mes clés → Lire le guide
# Clés sandbox
publishable: pk_test_8a3b…copy
secret: sk_test_e2f9…copy
webhook: whsec_c4d1…copy

# Numéros de test
MTN ok: +242 06 0000 0001
MTN fail: +242 06 0000 0002
Airtel: +242 05 0000 0001
Endpoints
REST v1
+ webhooks
Checkout, payments, refunds, payouts, balances. JSON pur, HTTP standard.
Sécurité
HMAC-SHA256 signé
Webhooks signés, replay protection, timing-safe comparison, rotation des secrets.
Fiabilité
Idempotency keys
Rejouez sans risque, retries automatiques sur erreurs réseau et timeouts.
Sandbox
Illimité gratuit
Numéros de test, simulation d'échecs, dashboard de rejeu, basculement 1 clic.

Démarrez l'intégration
en 5 minutes.

Récupérez vos clés sandbox, lisez le guide, faites votre premier appel API. C'est gratuit, illimité, et aucun moyen de paiement n'est requis.