Format des erreurs
Toutes les erreurs sont retournées en JSON :400 — Bad Request
La requête est malformée ou contient des données invalides.| Cause | Solution |
|---|---|
Champ obligatoire manquant (phoneNumber, amount, externalId) | Vérifiez que tous les champs requis sont présents |
amount négatif ou nul | Le montant doit être strictement positif |
externalId non unique | Chaque transaction doit avoir un UUID unique |
Format de phoneNumber invalide | Format international sans + (ex : 237690000000) |
transferMethod invalide | Voir la liste des opérateurs dans Transactions |
countryName incohérent avec transferMethod | Ex : OMCM requiert countryName: "CAMEROON" |
401 — Unauthorized
L’authentification a échoué.| Cause | Solution |
|---|---|
Header apiKey absent | Ajoutez le header apiKey à votre requête |
Header apiId absent | Ajoutez le header apiId à votre requête |
| Token Bearer manquant ou expiré | Renouvelez via POST /public/refresh_token |
apiKey invalide ou révoquée | Régénérez votre clé API depuis l’espace partenaire |
apiId ne correspond pas à la apiKey | Vérifiez que vous utilisez la bonne paire clé/ID |
403 — Forbidden
Accès refusé, même avec une authentification valide.| Cause | Solution |
|---|---|
| Adresse IP non autorisée | Ajoutez votre IP à la liste blanche (espace partenaire) |
| Compte utilisateur bloqué | Contactez le support Remita |
| Application produit désactivée | Vérifiez le statut de votre application |
| Service de transfert désactivé pour ce compte | Contactez le support pour activer le service |
404 — Not Found
La ressource demandée n’existe pas.| Cause | Solution |
|---|---|
Transaction introuvable avec l’id fourni | Vérifiez l’identifiant de la transaction |
| Endpoint inexistant | Vérifiez l’URL (majuscules/minuscules, slashes) |
500 — Internal Server Error
Erreur interne côté Remita.| Cause | Solution |
|---|---|
| Erreur temporaire opérateur (Orange, MTN) | Réessayez après quelques secondes |
| Erreur système Remita | Contactez le support avec le timestamp et le path |
Statuts de transaction échoués
Quand une transaction atteint le statutFAILED :
| Message | Cause probable |
|---|---|
Solde insuffisant | Le client n’a pas assez de solde sur son compte mobile money |
Numéro invalide | Le numéro n’existe pas chez l’opérateur |
Transaction annulée par le client | Le client a refusé la confirmation sur son téléphone |
Timeout opérateur | L’opérateur n’a pas répondu dans le délai imparti |
Compte non inscrit | Le numéro n’est pas enregistré au service mobile money |
Gestion des erreurs — Exemples
Checklist de débogage
Les headers
apiKey et apiId sont présents et correctsLe header
Authorization: Bearer <token> est présent et non expiréL’IP de votre serveur est dans la liste blanche
Le corps de la requête est du JSON valide (
Content-Type: application/json)Tous les champs obligatoires sont présents
L’
externalId est un UUID valide et uniqueLe
phoneNumber est au format international (ex : 237690000000)Le
amount est un nombre strictement positiftransferMethod et countryName sont cohérentsSupport
Si le problème persiste, contactez le support Remita en fournissant :- Le
timestampde l’erreur - Le
pathconcerné - Votre
apiId(jamais votreapiKey) - Le corps de votre requête (sans données sensibles)