Aller au contenu
CashChap CashChap Docs

Documentation CashChap

CashChap est l'agrégateur de paiement de DSMC Bénin : encaissez par Mobile Money (MTN, Moov) sur votre site, votre application, en boutique, sur un terminal de paiement ou par simple lien, puis retirez vos fonds vers un numéro Mobile Money ou un compte bancaire.

Premiers pas en cinq étapes

  1. Créez votre compte marchand sur cashchap.com et confirmez votre adresse e-mail. Voir l'inscription.
  2. Testez sans argent réel avec la clé Sandbox. Chaque service a une clé publique et une clé secrète Sandbox ; les paiements y sont simulés selon le numéro saisi. Voir le mode test.
  3. Activez votre compte (KYC) en trois étapes depuis le portail : promoteur, entreprise, immatriculation. Les clés Live n'encaissent qu'une fois le dossier validé. Voir l'activation.
  4. Intégrez CashChap avec le moyen qui vous convient : SDK JavaScript (une balise), API v2, lien de paiement CashChap Link, terminal de paiement ou encaissement en boutique depuis le portail.
  5. Confirmez chaque paiement côté serveur avec GET /v2/transactions/{id} et votre clé secrète, ou un webhook signé, puis livrez. Voir la confirmation.

Choisir son mode d'intégration

BesoinSolutionCompétences
Un bouton « Payer » sur un site webSDK JavaScript 2.0 + widgetHTML
Un paiement depuis une application mobile ou un serveurAPI v2Toute pile serveur
Encaisser sans site : WhatsApp, SMS, réseaux sociauxLiens de paiement (CashChap Link)Aucune
Encaisser un client présent : caisse, TPEMa boutique ou terminaux de paiementAucune (boutique) ou API (TPE)
Être prévenu d'un paiement, d'un retrait ou d'un remboursementWebhooksUn point d'entrée HTTPS
Retirer ses fondsRetraits du portail ou POST /v2/payoutsPortail ou API

Votre premier paiement en mode test

Avec votre clé secrète Sandbox (menu Développeurs › Clés API du portail), demandez un encaissement Mobile Money de 1 000 XOF sur le numéro de test MTN Bénin 2290166000000 (format international, sans « + »), qui simule un succès en cinq secondes environ :

Demande d'encaissement (mode test)
curl -X POST https://api.cashchap.com/v2/collections \
  -H "Authorization: Bearer VOTRE_CLE_SECRETE_SANDBOX" \
  -H "Idempotency-Key: cmd-2026-00417-essai-1" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 1000,
    "currency": "XOF",
    "provider": "mtn-benin",
    "phone": "2290166000000",
    "customer": { "name": "Afi Dossou", "email": "afi.dossou@example.com" },
    "reference": "CMD-2026-00417"
  }'

CashChap répond tout de suite 202 : la transaction existe, en attente de la validation du client sur son téléphone. Le total payé par le client (amount_charged) comprend ici les frais à sa charge et l'arrondi au 5 F supérieur.

Réponse (extrait)
HTTP/1.1 202 Accepted
Location: /v2/transactions/7c9e6679-7425-40de-944b-e07fc1f90ae7

{
  "data": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "object": "transaction",
    "type": "collection",
    "status": "pending",
    "pending_reason": "awaiting_provider",
    "mode": "sandbox",
    "channel": "api",
    "reference": "CMD-2026-00417",
    "amount": 1000,
    "currency": "XOF",
    "amount_charged": 1020,
    "charged_currency": "XOF",
    "fees": { "amount": 20, "currency": "XOF", "payer": "customer", "rule": { "kind": "percentage", "value": 1.7, "level": "platform", "channel": null, "terminal": null } },
    "net_amount": 1000,
    "net_currency": "XOF",
    "...": "autres champs de l'objet transaction"
  },
  "meta": { "request_id": "req_01JA2Q8X3T9Z0F6V4M2K7C1B5N" }
}

Lisez ensuite la transaction jusqu'à un statut final (succeeded, failed, expired ou cancelled). Le paramètre wait fait patienter la réponse quelques secondes si la transaction est encore en attente :

Suivi du statut
curl "https://api.cashchap.com/v2/transactions/7c9e6679-7425-40de-944b-e07fc1f90ae7?wait=5" \
  -H "Authorization: Bearer VOTRE_CLE_SECRETE_SANDBOX"

En mode test, remplacez les deux derniers chiffres du numéro par un code de scénario : 2290166000012 simule par exemple un solde insuffisant (insufficient_funds).

Les deux environnements

Sandbox (mode test)Live (production)
ClésClé publique et clé secrète Sandbox du serviceClé publique et clé secrète Live du service
ConditionCompte crééDossier KYC validé
OpérateursSimulateur CashChap, scénarios par numéroMTN, Moov…
ArgentAucun mouvementRéel
TransactionsSéparées, purgées périodiquementConservées
WebhooksCeux de l'environnement SandboxCeux de l'environnement Live
Champ mode (API v2)sandboxlive

Adresses à connaître

Portail marchandcashchap.com/portalSignin
API v2https://api.cashchap.com/v2
Spécification OpenAPIhttps://cashchap.com/docs/openapi/v2.yaml
SDK JavaScript 2.0.2https://cdn.cashchap.com/v2/sdk.js
Liens de paiementhttps://payment.cashchap.com/live/{identifiant} et /sandbox/{identifiant}
Supportcashchap.com/question · support@cashchap.com

Parcourir la documentation