Ressources
Journal des modifications
Les changements de l’API Monerail, du plus récent au plus ancien.
Les ajouts (nouveaux points d’accès, paramètres facultatifs, champs de réponse, types d’événements, codes d’erreur) peuvent arriver à tout moment. Les changements qui peuvent demander une action de votre part sont marqués Action requise.
2026-10-31 · Nouveaux pays
Huit pays de plus sont ouverts dans l’API, pour les encaissements et les paiements mobile money : Gabon, Tchad, Congo et Centrafrique (XAF), Mali et Niger (XOF), Guinée (GNF) et RD Congo (CDF).
- Nouvelles devises :
GNF(francs entiers) etCDF(en centimes ; envoyez des multiples de 100). Voir Montants et devises. countrychoisit le pays quand une devise est partagée : XAF vaut toujours CM par défaut, XOF vaut SN. Un pays non ouvert pour la devise renvoie400 country_unsupported.- Lister les opérateurs accepte un paramètre facultatif
country, par exempleGET /v1/operators?currency=XAF&country=TD. - Codes générés par le client : pour certains opérateurs (Orange Money en Guinée, par exemple), le client compose un code USSD pour obtenir un code de paiement. L’encaissement est
requires_otpetnext_action.ussd_codecontient le code à composer ; transmettez le code de paiement avec authorize. next_action.type: "redirect"avecnext_action.urlpeut être renvoyé quand le client valide sur une page de paiement.- Nouveaux codes d’erreur :
country_unsupported,bank_transfer_unsupported(pas de virement bancaire dans ces huit pays),test_phone_required(le mode test n’y accepte que les numéros de test),otp_not_expected.
2026-10-31
Renforcement de la sécurité et de la fiabilité.
- Action requise. Vérification d’identité :
place_of_birthest désormais requis par Envoyer la vérification d’identité.address.postal_codereste facultatif. Limitée à 5 envois par titulaire et par 24 heures. Le rôle de la clé est vérifié avant l’enregistrement de toute pièce. - Action requise. Les encaissements en NGN échouent désormais avec
400 currency_unsupported. Les paiements et reversements en NGN fonctionnent toujours. - Action requise. Virements bancaires :
recipient.bank_codedoit correspondre exactement à uncodede Lister les banques. Sinon :400 bank_account_invalid. - Action requise. Cartes à usage unique : elles ne peuvent être ni rechargées ni vidées (
400 card_single_use), ni avoir despending_limit(400 parameter_invalid). Une carte à usage unique peut être débitée une fois ; elle est résiliée automatiquement 30 jours après l’émission. - Action requise. Droits de lecture : lire les événements demande le rôle Propriétaire, Finance ou Développeur ; lire les points de terminaison, Propriétaire ou Développeur. Sinon :
403 permission_denied. - Limites de débit : 100 requêtes par 10 secondes et par clé d’API, et 10 renvois par événement et par heure. Au-delà :
429 rate_limitedavecRetry-After. Voir Limites de débit. - Actions sur les cartes : quand la réponse de l’émetteur n’est pas définitive, l’émission, la recharge, le retrait, le blocage, le déblocage et la résiliation renvoient
202, et le résultat arrive par webhook. L’argent ne revient au solde cartes qu’une fois l’échec définitif. - Idempotence : si un problème survient après l’envoi de l’argent à un partenaire, l’API renvoie
202avec l’objet au lieu d’un5xx, et une nouvelle tentative avec la mêmeIdempotency-Keyle rejoue. - Points de terminaison : les adresses avec une IP ou
utilisateur:mot_de_passe@sont refusées (400 url_invalid). Les envois vers des domaines qui pointent vers une adresse privée échouent avec « destination not allowed » et sont retentés. Lesecretde signature ne figure que dans la réponse201d’origine, pas dans les rejeux. - Encaissements :
failure_codevaut désormaisfailedouexpired;failure_messagepeut donner un motif. - Identité : la vérification est propre à chaque entreprise. Une personne vérifiée par une autre entreprise est vérifiée à nouveau pour la vôtre.
- Erreurs : les requêtes refusées pour une raison sans code propre renvoient un message
request_invalidgénérique, et les erreurs5xxun message générique. Les refus des partenaires gardent leur motif sousprovider_declined. - Outils de test : Simuler un paiement par carte accepte
status: "declined", qui envoiecard.authorization_declinedsans rien prélever. Simuler une décision de vérification accepte unereason. - En-têtes : chaque réponse porte
Strict-Transport-SecurityetX-Content-Type-Options: nosniff. - Données de référence : Lister les opérateurs et Lister les banques sont mis en cache jusqu’à 10 minutes.
2026-10-30
Première version de l’API Monerail v1 (Monerail-Version: 2026-10-30).
- Solde, encaissements (validation sur le téléphone ou code), paiements vers le mobile money et les comptes bancaires, reversements, transactions.
- Titulaires et vérification d’identité, cartes virtuelles Visa et Mastercard pour les membres de l’équipe, les clients et les agents IA.
- Points de terminaison et événements webhook, signés en HMAC-SHA256 et retentés 8 fois sur environ 42 heures.
- Données de référence (opérateurs, banques), outils de test, clés d’idempotence, pagination par curseur.