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.
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."
Veillez à ce que l'API PER ou déboursement soit activé
dans votre dashboard au niveau de API WebPay et MobPay. votre dashboard
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.
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
{
"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"
}
Le disburse_id
n'apparaîtra que si le marchand le renseigne au niveau du submit invoice.
https://app.paydunya.com/api/v2/disburse/get-invoice
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"
“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.
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
.
{
"response_code": "00",
"disburse_token": "hwTHAS0WvTmTaYT2zDoO"
}
https://app.paydunya.com/api/v2/disburse/get-invoice
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"
{
"response_code": "00",
"disburse_token": "hwTHAS0WvD4TaZW2zDoO"
}
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.
Les différents statuts :
success
pending
failed
https://app.paydunya.com/api/v2/disburse/submit-invoice
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"
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
{
"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"
}
https://app.paydunya.com/api/v2/disburse/check-status
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"
{
"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"
}
Le disburse_id
n'apparaîtra que si le marchand le renseigne au niveau du submit invoice.
Les différents statuts
possibles après vérification de l´état d´un déboursement sont: created,success,pending,failed
réponse en cas d'erreurs de validation des données envoyées via un api
{
"response_code": ['1001', '5000'],
"response_text": text
}
withdraw_mode non pris en charge.
Service en maintenance, veuillez réessayer plus tard.
{
"response_code": ['401', '4002', '5000'],
"response_text": text
}
-Initiation not authorize
-You don't have enough funds. Consider crediting your account
-the callback is not accessible
-An error occured from our side. Please retry later.
-disburse_id already used.
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.