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 avez besoin de vos clés API dans votre compte PayDunya. Connectez-vous donc à votre compte PayDunya déjà créé, puis accédez à vos clés d'API en cliquant sur le lien Afficher les clés api situé juste à droite de l’application que vous avez créée.


Ainsi vous pourrez effectuer des déboursements 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".

  • "debit_account_number" est un paramètre optionnel utilisé uniquement lorsque le point de terminaison de retrait (withdraw_mode) est paydunya. Ce paramètre représente le numéro de compte (account_number) du marchand à débiter. S’il n’est pas renseigné, le système utilisera automatiquement le compte par défaut du marchand correspondant au pays du bénéficiaire.

  • "callback_url"

    Il s’agit de l’URL vers laquelle les détails de la transaction seront renvoyés une fois celle-ci réussie. "L’URL doit être valide, sans quoi la transaction ne sera pas autorisée."

IMPORTANT


Veuillez à ce que l'API PER ou déboursement soit activée 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éée 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 Status.

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


  • debit_account_number : (BBJXXXXXXXXXX) est un paramètre optionnel utilisé uniquement lorsque le point de terminaison de retrait withdraw_mode est paydunya. Si ce paramètre est renseigné, c’est la balance du pays marchand correspondant qui sera débité. Sinon, le système utilisera par défaut la balance du marchand situé dans le même pays que le bénéficiaire.

  • 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 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", "debit_account_number": "BSN1146784711","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 d'erreur. Si cela se produit, vous devrez vérifier le statut de la transaction en question avec l'API Check Status 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.