API PUSH

  OBLIGATOIRE


Après avoir suivi les étapes se trouvant dans la partie introduction, vous pouvez intégrer dès lors ce client API en suivant les étapes ci-dessous.


INTRODUCTION


Pour effectuer un retrait vous aviez besoin de vos clés API dans votre compte PayDunya. Donc connectez-vous à votre compte PayDunya déjà créé et accéder à vos clés d'API par le lien détails se trouvant juste à droite de l'application que vous aviez créé.


Ainsi vous pourrez effectuer des déboursement vers vos clients de plusieurs manières, à savoir par ORANGE MONEY PORTE-MONNAIE, le compte PayDunya et bien d'autres. Pour cela il vous faudra disposer de quatre 04 clés au format JSON.


Les quatre 04 clés JSON à avoir sont les suivantes :

  • "account_alias" :

    Est le numéro de téléphone du destinataire sans code de pays.

  • "amount"

    Est le montant à débourser en XOF

  • "withdraw_mode"

    Définit le point de terminaison de retrait: "orange-money-senegal" pour "Orange Money wallet".

  • "callback_url"

    Il s’agit de l’url où seront renvoyés les détails de la transaction une fois la transaction réussie. "L’url doit être une URL Valide sinon la transaction ne sera pas autorisée."

IMPORTANT


Veillez à ce que l'API PER ou déboursement soit activé dans votre dashboard au niveau de API WebPay et MobPay. votre dashboard

Les différents statuts possibles


Statuts intermédiaires :

  • Created : Ce statut est retourné pour signifier que la requête de déboursement a été créé par PayDunya mais pas encore envoyée á l´opérateur pour exécution.

  • Pending : Ce statut signifie que le token a été soumis á l´opérateur pour exécution, mais que la transaction est toujours en cours de traitement. Pour vérifier le statut final de la transaction, veuillez utiliser l'API Check Statut.

Statuts finaux :

  • Success : Ce statut indique que la transaction a abouti.

  • Failed : Ce statut indique que la transaction n'a pas abouti.


1 - INITIATION DE DEBOURSEMENT

Note


  • account_alias : numéro de téléphone du receveur sans le country code du pays.

  • amount : c'est le montant du déboursement en XOF.

  • withdraw_mode : on a différents withdraw_mode :

    • paydunya : pour le compte à compte

    • orange-money-senegal : pour le wallet orange money Sénégal

    • free-money-senegal : pour le wallet free money Sénégal.

    • expresso-senegal : pour le wallet e-money Sénégal.

    • wave-senegal : pour le wallet wave Sénégal.

    • mtn-benin : pour le wallet mtn Bénin.

    • moov-benin : pour le wallet Moov Bénin.

    • mtn-ci : pour le wallet mtn Côte d'Ivoire.

    • orange-money-ci : pour le wallet Orange Money Côte d'Ivoire.

    • moov-ci : pour le wallet moov Côte d'Ivoire.

    • wave-ci : pour le wallet wave Côte d'Ivoire.

    • t-money-togo : pour le wallet T-Money Togo.

    • moov-togo : pour le wallet Moov Togo.

    • orange-money-mali : pour le wallet Orange Money Mali.

    • orange-money-burkina : pour le wallet Orange Money Burkina.

    • moov-burkina-faso : pour le wallet Moov Burkina.

  • callback_url : Il s’agit de l’url où seront renvoyés les détails de la transaction une fois la transaction réussie. L’url doit être une URL Valide sinon la transaction ne sera pas autorisée


Exemple d’infos reçues sur le callback :

{
    "status": "success",
    "token": "xZsV7x488d2yGCrJd2R ",
    "withdraw_mode": "orange-money-senegal",
    "amount": "203.00",
    "updated_at": "11/01/2024 14:30:32",
    "disburse_id": "78112205445565",
    "transaction_id": "TFA-TX-N458MPjhA1npWbI6M",
    "disburse_tx_id": "CI000111.1430.A11197"
}

 Note



Le disburse_id n'apparaîtra que si le marchand le renseigne au niveau du submit invoice.

Endpoints API

https://app.paydunya.com/api/v2/disburse/get-invoice

Requête POST HTTP


curl -H "Content-Type: application/json" \ 
-H "PAYDUNYA-MASTER-KEY: wQzk9ZwR-Qq9m-0hD0-zpud-je5coGC3FHKW" \ 
-H "PAYDUNYA-PRIVATE-KEY: test_private_rMIdJM3PLLhLjyArx9tF3VURAF5" \ 
-H "PAYDUNYA-TOKEN: IivOiOxGJuWhc5znlIiK" \ 
-X POST -d ' { "account_alias" : "771111111", "amount" : 4500, "withdraw_mode" : 
"orange-money-senegal", "callback_url": "your_callback_url" }' \ 
"https://app.paydunya.com/api/v2/disburse/get-invoice"

Note


“account_alias”, “amount” et “callback_url” sont obligatoires. Pour changer le “withdraw_mode” il vous suffit juste de remplacer selon le moyen de paiement que vous voulez utiliser, parmis la liste qui a été donnée en dessus.. “amount” ne doit pas être une valeur décimale et la devise prise en charge est XOF, “account_alias” doit être un numéro de téléphone sans code de pays.


Note


Lorsqu’un token est généré(à l'initiation du déboursement), le statut de la transaction est « created ». Ce statut est spécifiquement retourné pour signifier que vous avez créé une requête (invoice) de déboursement mais elle n'a pas encore été soumise. Le statut ne change que si vous effectuez un push via l'API Submit Invoice, à la suite de quoi les trois statuts possibles sont : pending, success, failed.


Réponse attendue

{ 
    "response_code": "00",
    "disburse_token": "hwTHAS0WvTmTaYT2zDoO" 
} 

1-2 - CAS DE PAYDUNYA


Endpoints API

https://app.paydunya.com/api/v2/disburse/get-invoice

Requête POST HTTP


curl -H "Content-Type: application/json" \ 
-H "PAYDUNYA-MASTER-KEY: wQzk9ZwR-Qq9m-0hD0-zpud-je5coGC3FHKW" \ 
-H "PAYDUNYA-PRIVATE-KEY: test_private_rMIdJM3PLLhLjyArx9tF3VURAF5" \ 
-H "PAYDUNYA-TOKEN: IivOiOxGJuWhc5znlIiK" \ 
-X POST -d ' { "account_alias" : "771111111", "amount" : 4500, "withdraw_mode" : 
"paydunya", "callback_url": "your_callback_url" }' \ 
"https://app.paydunya.com/api/v2/disburse/get-invoice"


Réponse attendue


{ 
    "response_code": "00",
    "disburse_token": "hwTHAS0WvD4TaZW2zDoO" 
} 

2 - SOUMETTRE LE DEBOURSEMENT


Note


Pour soumettre un décaissement, vous devez soumettre les paramètres d'entrée disburse_invoice et disburse_id pour que le décaissement soit traité. disburse_id est votre propre numéro de référence de transaction, il est facultatif. Si vous ne l'avez pas, publiez simplement la demande avec uniquement disburse_invoice (obligatoire) comme paramètre d'entrée.

Détails


  • Les différents statuts :

    • success
    • pending
    • failed

Endpoints API

https://app.paydunya.com/api/v2/disburse/submit-invoice

Requête POST HTTP


curl -H "Content-Type: application/json" \ 
-H "PAYDUNYA-MASTER-KEY: wQzk9ZwR-Qq9m-0hD0-zpud-je5coGC3FHKW" \ 
-H "PAYDUNYA-PRIVATE-KEY: test_private_rMIdJM3PLLhLjyArx9tF3VURAF5" \ 
-H "PAYDUNYA-TOKEN: IivOiOxGJuWhc5znlIiK" \ 
-X POST -d ' {"disburse_invoice": "hwTHAS0WvTmTaYT2zDoO ", " disburse_id ": "456678900309" }' \ 
"https://app.paydunya.com/api/v2/disburse/submit-invoice" 

Réponse attendue pour le wallet PayDunya


{ 
    "response_code": "00",
    "status": "success",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 200.00 FCFA has been transfered to to Christopher Jean Account 707006948",
    "transaction_id": "TFA-TX- NiP89775sdXKA1npWbI6M"
} 

Réponse attendue pour Orange Money


{ 
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 4500 FCFA has been transfered to Orange Money Account 771111111",
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "565486545315"
} 

Réponse attendue pour Free Money


{ 
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 4500 FCFA has been transfered to Free-Money Account 761111111",
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "565486545315"
}
OU
{ 
    "response_code": "00",
    "status": "pending",
    "response_text": "Transaction pending",
    "description": "Transaction pending, please check the final status later through our status API",
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97"
}  

Réponse attendue pour le wallet E Money Sénégal


{ 
   "response_code": "00", 
    "response_text": "Transaction completed successfully"", 
    "description": "Success! Amount of 4500 FCFA has been transfered to E Money Account 771111111", 
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "565486545315" 
} 

Réponse attendue pour le wallet Wave Sénégal


{
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 4500 FCFA has been transfered to Wave Account 777777777",
    "transaction_id": "TFA-TX-0sks0bagCMQkZ0SG91nc",
    "provider_ref": "pt-67Ggh7zgm013syghghjkhgjh"
}

Réponse attendue pour le wallet Mtn Momo Benin


{ 
   "response_code": "00", 
    "response_text": "Transaction completed successfully"", 
    "description": "Success! Amount of 4500 FCFA has been transfered to Mtn Money Account 0588118811", 
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "565486545315" 
} 

Réponse attendue pour Moov Bénin


{
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 200.00 FCFA has been transfered to MOOV BJ Account 95920904",
    "transaction_id": "TFA-TX-E36T8kfja2cpR00CKuVq",
    "provider_ref": "920230224297772"
}

Réponse attendue pour le wallet Mtn Momo Côte d'Ivoire


{ 
    "response_code": "00", 
    "response_text": "Transaction completed successfully"", 
    "description": "Success! Amount of 4500 FCFA has been transfered to Mtn Money Account 0588118811", 
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "565486545315" 
} 

Réponse attendue pour Orange Money Côte d'ivoire


{ 
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 4500 FCFA has been transfered to Orange Money CI Account 0577111111",
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "565486545315"
} 

Réponse attendue pour Moov Côte d'ivoire


{ 
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 200 FCFA has been transfered to MOOV CI Account 0153401679",
    "transaction_id": "TFA-TX-FVTMk4jGgWZ8s3WN4dwE",
    "provider_ref": "9220613074705"
} 

Réponse attendue pour le wallet Wave Côte d'ivoire


{
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 4500 FCFA has been transfered to Wave Account 777777777",
    "transaction_id": "TFA-TX-0sks0bagCMQkZ0SG91nc",
    "provider_ref": "pt-67Ggh7zgm013syghghjkhgjh"
}

Réponse attendue pour T-Money Togo


{ 
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 4500 FCFA has been transfered to T-Money Account 77111111",
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "565486545315"
} 

Réponse attendue pour Moov Togo


{ 
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 4500 FCFA has been transfered to MOOV-TOGO Account 98010101",
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "24020605401685281675"
} 

Réponse attendue pour Orange Money Mali


{
    "response_code": "00",
    "status": "pending",
    "response_text": "Transaction pending",
    "description": "Transaction pending, please check the final status later through our status API",
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97"
}

Réponse attendue pour Orange Money Burkina en cas de SUCCESS


{
    "response_code": "00",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 200 FCFA has been transfered to   Orange Money Burkina 66123421",
    "transaction_id": "TFA-TX-37XqPpjCjU7ReiycUg97", 
    "provider_ref": "565486545315"
}

Réponse attendue pour Orange Money Burkina en cas de PENDING


{
   "response_code": "00",
    "status": "pending",
    "response_text": "Transaction pending",
    "description": "Transaction pending, please check the final status later through our status API",
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97"
}

Réponse attendue pour Moov Burkina


{
    "response_code": "00",
    "status": "success",
    "response_text": "Transaction completed successfully",
    "description": "Success! Amount of 200.00 FCFA has been transfered to MOOV-BURKINA-FASO Account 03111111",
    "transaction_id": "TFA-TX-J9ARQ1auOEjWxbeERi5J",
    "provider_ref": "WCASH240902.0916.B00316"
}

3 - VERIFICATION DU STATUT DE DEBOURSEMENT


Endpoints API

https://app.paydunya.com/api/v2/disburse/check-status

Requête POST HTTP


curl -H "Content-Type: application/json" \ 
-H "PAYDUNYA-MASTER-KEY: wQzk9ZwR-Qq9m-0hD0-zpud-je5coGC3FHKW" \ 
-H "PAYDUNYA-PRIVATE-KEY: test_private_rMIdJM3PLLhLjyArx9tF3VURAF5" \ 
-H "PAYDUNYA-TOKEN: IivOiOxGJuWhc5znlIiK" \ 
-X POST -d ' {"disburse_invoice": "hwTHAS0WvTmTaYT2zDoO"}' \ 
"https://app.paydunya.com/api/v2/disburse/check-status"

Réponse attendue

{ 
    "response_code": "00",
    "status": "success",
    "token": "xZsV7x488d2yGCrJd2R ",
    "withdraw_mode": "orange-money-senegal", 
    "amount": "203.00",
    "updated_at": "11/01/2024 14:30:35", 
    "disburse_id": "78112205445565",
    "transaction_id": "TFA-TX-NiP89775sdXKA1npWbI6M", 
    "disburse_tx_id": "CI000111.1430.A11197"
} 

 Note



Le disburse_id n'apparaîtra que si le marchand le renseigne au niveau du submit invoice.

Détails



4 - Les codes erreurs


  • HTTP Status 400

    réponse en cas d'erreurs de validation des données envoyées via un api


    
    {
        "response_code": ['1001', '5000'], 
        "response_text": text  
    }
    
    
  • 1001

    withdraw_mode non pris en charge.

  • 5000

    Service en maintenance, veuillez réessayer plus tard.


  • HTTP Status 200

    -GET INVOICE

    
    {
        "response_code": ['401', '4002', '5000'], 
        "response_text": text  
    }
    
    
  • 401

    -Initiation not authorize

  • 4002

    -You don't have enough funds. Consider crediting your account

    -the callback is not accessible

  • 5000

    -An error occured from our side. Please retry later.

    -disburse_id already used.

    IMPORTANT


    Lors de la soumission d'une demande de déboursement, il est possible que vous receviez un code de réponse différent de 00 ou un code erreur. Si cela se produit, vous devrez vérifier le statut de la transaction en question avec l'API Check Statut en utilisant le token de la même transaction. Si le statut de la transaction est :

    • CREATED : vous devez recommencez le Submit avec le même token de la transaction.

    • PENDING : vous devez patienter jusqu’au statut final.

    • SUCCESS : vous pouvez clore la transaction.

    • FAILED : vous pouvez clore la transaction et informer votre client ou recommencer une nouvelle transaction depuis la création du token.