API MoyaPay
L'API MoyaPay permet à votre plateforme d'encaisser de l'argent (payin) et d'en verser (payout) via les principaux opérateurs de mobile money, avec une seule intégration.
URL de base
https://services.moya-pay.com/service/api/v1
Toutes les requêtes se font en HTTPS, au format JSON (Content-Type: application/json).
Ce qu'il vous faut
MoyaPay vous fournit, à l'ouverture de votre compte :
| Élément | Rôle |
|---|---|
| Un email et un mot de passe API | Obtenir un jeton d'accès (/login) |
Votre référence marchand (refercence_cl) | Identifie votre compte dans chaque requête |
Votre code business (business_code) | Identifie l'activité rattachée à la transaction |
| Votre URL de callback | Reçoit le résultat final des transactions |
| Un secret de signature | Vérifier que les callbacks viennent bien de MoyaPay |
| Les moyens de paiement activés sur votre compte | Voir Moyens de paiement |
Démarrage rapide
1. Obtenir un jeton (valable 5 heures) :
curl -X POST https://services.moya-pay.com/service/api/v1/login \
-H "Content-Type: application/json" \
-d '{"email": "api@votre-societe.com", "password": "votre-mot-de-passe"}'
2. Initier un paiement avec ce jeton :
curl -X POST https://services.moya-pay.com/service/api/v1/payin \
-H "Authorization: Bearer VOTRE_JETON" \
-H "Content-Type: application/json" \
-d '{
"refercence_cl": "CL-123456",
"business_code": "MYP-000000-ABCDEF",
"country_code": "CI",
"payment_method": "WAVE_CI",
"merchant_transaction_id": "COMMANDE-2026-000123",
"amount": 1000,
"currency": "XOF",
"telephone": "0505000000",
"successUrl": "https://boutique.example.com/paiement/succes",
"failedUrl": "https://boutique.example.com/paiement/echec",
"notifyUrl": "https://boutique.example.com/api/moyapay/notify"
}'
3. Suivre le résultat : MoyaPay appelle votre callback quand la transaction se termine, et vous pouvez à tout moment interroger son statut.
Principes à connaître
- Les transactions sont asynchrones. La réponse à
/payinou/payoutconfirme que la demande est prise en compte (statutPENDING), pas que l'argent a circulé. Le résultat final (SUCCESSouFAILED) arrive ensuite. merchant_transaction_idest votre identifiant. Il doit être unique : il sert de clé pour interroger le statut et pour éviter les doublons. L'unicité est vérifiée sur l'ensemble de la plateforme : choisissez des identifiants distinctifs (préfixe de votre société, UUID...).- Noms de champs historiques. Certains noms gardent leur orthographe d'origine, par exemple
refercence_cl. Envoyez-les exactement comme indiqué. - Lisez le corps de la réponse. Testez le champ
success, et pas seulement le statut HTTP. Voir Erreurs.
Collection Postman
Une collection Postman prête à l'emploi est disponible : moyapay-api.postman_collection.json.
Pour l'utiliser :
- Dans Postman, cliquez sur Import et sélectionnez le fichier téléchargé.
- Créez un environnement, sélectionnez-le, et ajoutez la variable
urlavec la valeurhttps://services.moya-pay.com. - Dans la requête AccesToken (dossier TOKEN), saisissez votre
emailet votrepassword, puis envoyez-la : le jeton est enregistré automatiquement dans la variabletokende l'environnement et utilisé par les autres requêtes. - Dans PAYIN, PAYOUT et PAYMENT STATUS, remplacez les valeurs d'exemple (
refercence_cl,business_code,merchant_transaction_id,telephone...) par les vôtres.