Docs
ENFR
Tableau de bord
Démarrer

Démarrage rapide

Faites votre premier appel, encaissez un paiement de test et recevez son webhook.

Il vous faut un compte Monerails. Tout ce qui suit se passe en mode test : aucun argent réel ne bouge.

  1. Créez une clé de test. Dans le tableau de bord, ouvrez Développeurs › Clés d’API, nommez la clé (2 à 60 caractères) et créez-la en mode test. Elle commence par mr_test_. Copiez-la et gardez-la sur votre serveur, jamais dans une page web ni une application mobile.
  2. Consultez votre solde. Cela prouve que la clé fonctionne.
curl https://api.monerails.com/v1/balance \
  -H "Authorization: Bearer $MONERAIL_KEY"

Chaque point d’accès de la référence de l’API donne le même appel en curl, Node.js, Python, PHP, Go, Java, Ruby et C#.

JSON
{
  "object": "balance",
  "livemode": false,
  "available": [{ "currency": "XAF", "amount": 0 }],
  "cards": { "currency": "USD", "amount": 0 }
}
  1. Encaissez un paiement. Demandez à un client au Cameroun de payer 5 000 XAF avec MTN Mobile Money. Le numéro ci-dessous est un numéro de test camerounais qui réussit toujours. Envoyez une Idempotency-Key : une nouvelle tentative ne pourra jamais débiter deux fois.
curl https://api.monerails.com/v1/collections \
  -H "Authorization: Bearer $MONERAIL_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-42" \
  -d '{
    "amount": 5000,
    "currency": "XAF",
    "phone": "237660000001",
    "operator": "MTN",
    "customer": { "name": "Awa Ndiaye" },
    "client_reference": "order_42"
  }'

L’encaissement revient avec un status et, tant que le client a quelque chose à faire, un next_action. Affichez son message à votre client.

JSON
{
  "id": "3b8f6c1e-2a47-4d1b-9e35-7c0a9d2f4e61",
  "object": "collection",
  "status": "pending",
  "amount": 5000,
  "currency": "XAF",
  "next_action": {
    "type": "customer_approval",
    "message": "A payment request was sent. The customer enters their PIN.",
    "ussd_code": "*126#"
  }
}

En mode test, le dernier chiffre d’un numéro de test décide de l’issue : 237660000001 atteint succeeded en quelques secondes et envoie collection.succeeded, 237660000002 reste pending, 237660000003 finit failed. Tout autre numéro renvoie 400 test_phone_required.

  1. Recevez le résultat. Créez un point de terminaison (tableau de bord › Développeurs › Webhooks, ou l’API) qui reçoit les événements d’encaissement. Quand l’encaissement atteint un statut définitif, Monerails envoie collection.succeeded, collection.failed ou collection.expired. Un encaissement réussi porte ses fee et net. Vérifiez la signature, puis marquez la commande payée.
  2. Allez plus loin. Lisez Encaissements, Erreurs pour ce qui peut mal tourner, Sécurité, et Passer en production quand vous êtes prêt.