Aller au contenu principal

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émentRôle
Un email et un mot de passe APIObtenir 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 callbackReçoit le résultat final des transactions
Un secret de signatureVérifier que les callbacks viennent bien de MoyaPay
Les moyens de paiement activés sur votre compteVoir 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 à /payin ou /payout confirme que la demande est prise en compte (statut PENDING), pas que l'argent a circulé. Le résultat final (SUCCESS ou FAILED) arrive ensuite.
  • merchant_transaction_id est 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 :

  1. Dans Postman, cliquez sur Import et sélectionnez le fichier téléchargé.
  2. Créez un environnement, sélectionnez-le, et ajoutez la variable url avec la valeur https://services.moya-pay.com.
  3. Dans la requête AccesToken (dossier TOKEN), saisissez votre email et votre password, puis envoyez-la : le jeton est enregistré automatiquement dans la variable token de l'environnement et utilisé par les autres requêtes.
  4. Dans PAYIN, PAYOUT et PAYMENT STATUS, remplacez les valeurs d'exemple (refercence_cl, business_code, merchant_transaction_id, telephone...) par les vôtres.