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

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.

  • 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


Un quatrième statut a été rajouté. Il s’agit du statut « created ». Lorsqu’un token est généré le statut de la transaction est « created ». Le statut ne change que si vous effectuez un push via l’API Submit Invoice à la suite de quoi les 3 statuts possibles sont donc : 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"
}

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


  • Les différents statuts :

    • created
    • success
    • pending
    • failed

4 - Les codes réponses


  • 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.


    -SUBMIT INVOICE

    
    {
        "response_code": "5000", 
        "response_text": text  
    }
    
    
  • 5000

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

    -disburse_id already used.