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 pouvez faire retirer vos clients de plusieurs manières, à savoir par ORANGE MONEY PORTE-MONNAIE, CASHPOINT-WARI et par le compte PayDunya. Pour cela il vous faudra disposer de trois 03 clés au format JSON.


Les trois 03 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"; " wari " pour "cashpoints"

Note


Pour " PayDunya compte " , vous devez tout simplement ne pas utilizer la clé JSON   "withdraw_mode".

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 - CAS DE ORANGE MONEY SENEGAL


Endpoints API

https://app.paydunya.com/api/v1/direct-pay/credit-account

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" }' \ 
"https://app.paydunya.com/api/v1/direct-pay/credit-account " 

Note


“account_alias” et “amount” sont obligatoires. Si vous n'utilisez pas “withdraw_mode” le retrait sera effectué sur le compte client PayDunya . “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.


Réponse attendue


{ 
    "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" 
} 

Note


"transaction_id" est l'ID de transaction PayDunya, "provider_ref" la référence de transaction du fournisseur.

2 - CAS DE FREE-MONEY


Endpoints API

https://app.paydunya.com/api/v1/direct-pay/credit-account

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" : "765962914", "amount" : 4500, "withdraw_mode" : 
"free-money-senegal" }' \ 
"https://app.paydunya.com/api/v1/direct-pay/credit-account " 

Note


“account_alias” et “amount” sont obligatoires. Si vous n'utilisez pas “withdraw_mode” le retrait sera effectué sur le compte client PayDunya . “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.


Réponse attendue


{ 
    "response_code": "00", 
    "response_text": "Transaction completed successfully"", 
    "description": "Success! Amount of 4500 FCFA has been transfered to Free-Money Account 765962914", 
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "CI191223.1739.AC185" 
} 

Note


"transaction_id" est l'ID de transaction PayDunya, "provider_ref" la référence de transaction du fournisseur.

3 - CAS DE E-MONEY


Endpoints API

https://app.paydunya.com/api/v1/direct-pay/credit-account

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" : "705962914", "amount" : 4500, "withdraw_mode" : 
"expresso-senegal" }' \ 
"https://app.paydunya.com/api/v1/direct-pay/credit-account " 

Note


“account_alias” et “amount” sont obligatoires. Si vous n'utilisez pas “withdraw_mode” le retrait sera effectué sur le compte client PayDunya . “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.


Réponse attendue


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

Note


"transaction_id" est l'ID de transaction PayDunya, "provider_ref" la référence de transaction du fournisseur.

4 - CAS DE WARI


4-1 - Générer le code de retrait


Si vous utilisez " wari " comme " withdraw_mode ", vous devez remplir un noeud json supplémentaire:

  • "receiver_data" a (02)  noeuds enfants: "first-name" et "last_name".

  • "sender_data" a (03)  noeuds enfants: "first-name", "last_name" et "phone_number". Le "phone_number" c'est le numéro de téléphone avec le code du pays (par exemple 22177888965).


Endpoints API

https://app.paydunya.com/api/v1/direct-pay/credit-account

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_KEY: test_private_rMIdJM3PLLhLjyArx9tF3VURAF5" \
-H "PAYDUNYA-TOKEN: IivOiOxGJuWhc5znlIiK" \
-X POST -d '{
"account_alias" : "771111111",
"amount" : 4500,
"withdraw_mode" : "wari",
"receiver_data": {
              "first_name":"Christopher",
              "last_name":"Jean"
},
"sender_data": {
            "first_name":"Aziz",
            "last_name":"Mamadou",
            "phone_number":"221774441046"
  }
}' \
"https://app.paydunya.com/api/v1/direct-pay/credit-account "

Réponse attendue


{ 
    "response_code": "00", 
    "response_text": "Transaction completed successfully", 
    "description": " Success! Wari withdrawal code corresponding to an amount of 4500 FCFA has been transfered to Christopher Jean. Phone number: 771111111", 
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "956548654", 
    "provider_tx_id": "545665445" 
} 

Note


"transaction_id" est l'ID de transaction PayDunya. Dans le cas du distributeur de billets, "provider_ref" est le code de retrait ( c'est-à-dire le code de retrait envoyé au client). "provider_tx_id" est l'ID de transaction du fournisseur

Remarque


C'est "provider_tx_id" qui est utilisé pour vérifier l'état du code de retrait.


4-2 - Obtenir l'état du code de retrait


Vous devez fournir "provider_tx_id" généré après la création du code de ramassage. Le nom du fournisseur est "wari".


Endpoints API

https://app.paydunya.com/api/v1/direct-pay/check-disburse-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 ' { 
    "provider" : "wari", 
    "provider_tx_id" : "545665445" 
}' \ 
" http://paydunya.core/api/v1/direct-pay/check-disburse-status " 

Réponse attendue


{ 
    "response_code": "00", 
    "response_text": "success", 
    "withdrawal_data": {
        "status": "payed",
        "message": "Transaction status is payed", 
        "payed_date": "2019/04/19 11:57:14"
    }
} 

Note


"response_code" à 00 signifie que la demande a réussi. “withdrawal_data” le nœud vous fournira le retrait final avec un nœud enfant “status”. Les différents statuts sont "payés", en attente et annuler. Vous avez également payed_date pour la date de retrait.


4-3 - Annuler le code de caisse


Vous devez fournir "provider_tx_id" et “transaction_id” générés après la création du code de collecte. Le nom du fournisseur est "wari".


Endpoints API

https://app.paydunya.com/api/v1/direct-pay/refund-disburse

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 ' { 
    "provider" : "wari", 
    "provider_tx_id" : "545665445", 
    "transaction_id": "TFA-TX-xx9qRr5rsYRCZTYXhBry" 
}' \ 
" http://paydunya.core/api/v1/direct-pay/refund-disburse " 

Réponse attendue


{ 
   "response_code": "00", 
    "response_text": "success", 
    "refund_data": {
        "code_pickup_amount": 200,
        "refund_amount": 203
    }
} 

Note


"response_code" à 00 signifie que la demande a réussi. "refund_amount" pour le remboursement du montant sur votre compte PayDunya.


4-4 - Mettre à jour le décaissement


Vous devez fournir "provider_tx_id" et “transaction_id” générés après la création du code de collecte. Le nom du fournisseur est " wari ".


Endpoints API

https://app.paydunya.com/api/v1/direct-pay/update-disburse

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 '{  
    "provider": "wari", 
    "provider_tx_id": "545665445", 
    "transaction_id": "TFA-TX-xx9qRr5rsYRCZTYXhBry", 

    "receiver_data": { 
        "first_name":"Esther", 
        "last_name":"Goyette" 
    }, 

    "sender_data": { 
        "first_name":"Hector", 
        "last_name":"Salvador", 
        "phone_number":"221771911477" 
    } 
}'  
"http://paydunya.core/api/v1/direct-pay/update-disburse" 

Réponse attendue


{ 
    "response_code": "00",
    "response_text": "success", 
    "response_data": {
        "date": "2019/04/19 11:57:14"
    }
} 

Note


"response_code" à 00 signifie que la demande a réussi. "response_data" est la date de mise à jour.

5 - Recharge de crédit


Endpoints API

https://app.paydunya.com/api/v1/direct-pay/credit-account

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" : "777969818", "amount" : 4500, "withdraw_mode" : 
"airtime" , "operator" : "ORANGE" }' \ 
"https://app.paydunya.com/api/v1/direct-pay/credit-account" 

Note


“operator” peut être soit :

  • “ORANGE”
  • “TIGO”
  • “EXPRESSO”

Note


“account_alias” et “amount” sont obligatoires. Si vous n'utilisez pas “withdraw_mode” le retrait sera effectué sur le compte client PayDunya . “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.


Réponse attendue


{ 
    "response_code": "00", 
    "response_text": "Transaction completed successfully"", 
    "description": "Success! Amount of 4500 FCFA has been transfered to Phone Number 777969818", 
    "transaction_id": "TFA-TX-37XqPpVCjU7ReiycUg97", 
    "provider_ref": "565486" 
} 

Note


"transaction_id" est l'ID de transaction PayDunya, "provider_ref" la référence de transaction du fournisseur.

6 - Les codes réponses


  • 1001

    Mode de retrait non pris en charge


    
    {
        "response_code": "1001", 
        "response_text": 
        " Le mode de retrait envoyé n'est pas pris en charge!"   
    }
    
    
  • 4002

    Pas assez de fonds dans le compte de l'expéditeur PayDunya


    
    {
        "response_code": "4002", 
        "response_text": " Vous n'avez pas assez de fonds. Envisagez de créditer votre compte ", 
    }
    
    
  • 4003

    Le montant minimum est supérieur au montant à retirer


    
    {
        "response_code": "4003", 
        "response_text": " Échec du dépôt! Le montant doit être supérieur à 200 FCFA." 
    }