Payout

Payout

Le Payout Client est un service qui permet à un marchand d'éffectuer des transferts:

  • de son compte marchand vers le portefeuille Ligdicash de son client
  • de son compte marchand vers le compte mobile money de son client, en passant par le portefeuille LigdiCash de ce dernier.

le compte du marchand est alors crédité et le portefeuille du client est débité.

POSThttps://app.ligdicash.com/pay/v01/withdrawal/create
Headers
Apikey
Obligatoire
stringCorrespond au API Key de votre projet API
Authorization
Obligatoire
Bearer + API TOKENCorrespond au API TOKEN de votre projet API, précédé du mot Bearer
Accept
Obligatoire
application/jsonType de contenu accepté dans la réponse. Doit toujours être application/json
Content-Type
Obligatoire
application/jsonType de contenu de la requête. Doit toujours être application/json
Body
Commande
Obligatoire
objetDétails de la commande
customer
Obligatoire
stringNuméro de téléphone destinataire du transfert Doit être préfixé par l'indicatif pays Exemple: 226XXXXXXXX
top_up_wallet
Obligatoire
O ou 1O, l'argent est transféré vers le portefeuille Ligdicash du client 1, l'argent est d'abord transféré vers le portefeuille puis vers le compte mobile money du client
amount
Obligatoire
integerMontant à transférer
description
Obligatoire
stringDescription de la transaction Exemple: Remboursement de commande
callback_url
Obligatoire
stringURL d'un endpoint de votre backend qui recevra les détails de la transaction par requête POST
custom_data
Obligatoire
objectDéfinit les données personnalisées à associer à la transaction
transaction_id
stringcustom_data spécial correspondant à un identifiant unique généré par votre système pour la transaction
1curl --location 'https://app.ligdicash.com/pay/v01/withdrawal/create' \
2--header 'Apikey: 81J...DH8C' \
3--header 'Authorization: Bearer eyJ0eXA...hc3VPYrv7U' \
4--header 'Accept: application/json' \
5--header 'Content-Type: application/json' \
6--data '{
7  "commande": {
8      "amount": 100,
9      "description": "Remboursement de la commande ORD-123456",
10      "customer": "226XXXXXXXX",
11      "custom_data": {
12          "transaction_id": "TXTLGC2022"
13      },
14      "callback_url": "https://backend.masuperboutique.com/callback-payout",
15      "top_up_wallet": 1 // 1 si l'argent doit rester dans le wallet du client, 0 si l'argent doit être envoyé sur son compte mobile money
16  }
17}'

Vérifier le statut de la transaction

Une fois que vous avez effectué un payout, vous pouvez alors vérifier le statut de la transaction pour connaître le résultat de l'opération.

Pour vérifier le statut de la transaction, vous devez utiliser le token retourné lors de la création de la transaction.

POSThttps://app.ligdicash.com/pay/v01/redirect/withdrawal/confirm/?withdrawalToken={token_de_la_transaction}
Headers
Apikey
Obligatoire
stringCorrespond au API Key de votre projet API
Authorization
Obligatoire
Bearer + API TOKENCorrespond au API TOKEN de votre projet API, précédé du mot Bearer
Accept
Obligatoire
application/jsonType de contenu accepté dans la réponse. Doit toujours être application/json
Content-Type
Obligatoire
application/jsonType de contenu de la requête. Doit toujours être application/json
Paramètres Query
withdrawalToken
Obligatoire
stringIl s'agit du token de la transaction que vous souhaitez vérifier
1import requests
2url = "https://app.ligdicash.com/pay/v01/redirect/withdrawal/confirm/?withdrawalToken=eyJ0eXAi...GAxBYCbRqE-Fj0rgl_xdh5E"
3
4payload = ""
5headers = {
6  'Apikey': '81J...DH8C',
7  'Authorization': 'Bearer eyJ0eX...W-HqqUxUC4pl89q_oIj4LyaRolhw',
8  'Content-Type': 'application/json',
9  'Accept': 'application/json'
10}
11
12response = requests.request("GET", url, headers=headers, data=payload)
13
14print(response.text)
15

Interpréter la réponse

Lorsque vous recevez la réponse de la requête de vérification du statut de la transaction, le payout est considérer comme éffectué si response_code == 00 et que status == completed.

Réponsehttps://app.ligdicash.com/pay/v01/redirect/withdrawal/confirm/?withdrawalToken={token_de_la_transaction}
response_code
Obligatoire
OO ou 01Code de réponse de la requête. 00 pour une requête réussie 01 pour une requête incorrecte (La valeur de "response_text" contient le code d'erreur)
token
Obligatoire
stringIdentifiant unique de la transaction Sera vide dans la réponse, car il est déjà dans l'URL de la requête
response_text
Obligatoire
stringSi le code de réponse est 01, ce champ contient le message d'erreur Si le code de réponse est 00, ce champ contient l'URL de redirection vers la page de paiement
date
Obligatoire
stringDate de la transaction
description
Obligatoire
stringDescription de la réponse
status
Obligatoire
completed, pending, nocompletedStatut de la transaction
custom_data
Obligatoire
array d'objetTableau contenant les données personnalisées que vous avez envoyées dans la requête
item
objetReprésente un élément de données personnalisées
id_invoice
stringIdentifiant de la facture
keyof_customdata
stringClé de la donnée personnalisée
valueof_customdata
stringValeur de la donnée personnalisée
montant
Obligatoire
integerMontant de la transaction
amount
Obligatoire
integerMontant de la transaction
operator_id
Obligatoire
stringIdentifiant de l'opérateur
operator_name
Obligatoire
stringNom de l'opérateur
customer
Obligatoire
stringNuméro de téléphone utilisé pour la transaction
external_id
Obligatoire
stringIdentifiant externe de la transaction
request_id
Obligatoire
stringIdentifiant de la requête
wiki
Obligatoire
stringURL documentant les codes d'erreur
1{
2    "date": "2023-10-29 09:46:27+00",
3    "response_code": "00",
4    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUz...bdqRzL_aOJ1SYzY", 
5    "description": "”,
6    "amount": "100", 
7    "montant": "100", 
8    "response_text": null,
9    "status": "completed",
10    "custom_data": [ 
11        {
12            "id_invoice": 29505444, 
13            "keyof_customdata": "order_id", 
14            "valueof_customdata": "MonSiteOrder234"
15        }
16    ],
17    "operator_name": "ORANGE BURKINA",
18    "operator_id": "11",
19    "customer": “”,
20    "transaction_id": “TRNS.36887,
21    "external_id": null,
22}
23
;