Payin avec redirection
Le payin avec redirection est une méthode de paiement de l'API LigdiCash qui permet à un marchand de collecter des paiements sur son site web ou son application mobile.
Cette méthode de paiement est idéale pour les marchands qui souhaitent offrir une expérience de paiement fluide à leurs clients, sans avoir à gérer l'implémentation technique de tous les moyens de paiement disponibles pour son contrat.
Fonctionnement
Mise en place
Pour générer un lien de paiement avec redirection, vous devez disposer d'un projet API activé. Suivez le guide pour créer un projet API.
Envoyer la facture
1curl --location 'https://app.ligdicash.com/pay/v01/redirect/checkout-invoice/create' \
2--header 'Apikey: 81J...DH8C' \
3--header 'Authorization: Bearer eyJ0eXAiO...4LyaRolhw' \
4--header 'Accept: application/json' \
5--header 'Content-Type: application/json' \
6--data-raw '{
7 "commande": {
8 "invoice": {
9 "items": [
10 {
11 "name": "Premier produit",
12 "description": "__description_du_produit__",
13 "quantity": 1,
14 "unit_price": 1000,
15 "total_price": 1000
16 },
17 {
18 "name": "Deuxieme produit",
19 "description": "__description_du_produit__",
20 "quantity": 3,
21 "unit_price": 5000,
22 "total_price": 5000
23 }
24 ],
25 "total_amount": 16000,
26 "devise": "XOF",
27 "description": "Achat de produits sur https://masuperboutique.com",
28 "customer": "",
29 "customer_firstname": "Cheik",
30 "customer_lastname": "Cissé",
31 "customer_email": "cheikcisse@gmail.com",
32 "external_id": "",
33 "otp": ""
34 },
35 "store": {
36 "name": "Ma boutique",
37 "website_url": "https://masuperboutique.com"
38 },
39 "actions": {
40 "cancel_url": "https://masuperboutique.com/success",
41 "return_url": "https://masuperboutique.com/cancel",
42 "callback_url": "https://backend.masuperboutique.com/callback"
43 },
44 "custom_data": {
45 "order_id": "ORD-1234567890",
46 "transaction_id": "ORD-1234567890"
47 }
48 }
49}'
Nous vous recommandons fortement d'implémenter le endpoint de callback pour recevoir les détails de la transaction après le paiement.
Cela vous permettra de mettre à jour le statut de la commande dans votre système et d'offrir le service ou le produit à votre client sans qu'il ne soit obligé de revenir sur votre site.
Récupérer et rédiriger sur le lien de paiement
Le lien de paiement est retourné dans la réponse de la requête d'envoi de facture.
Si le champ response_code
est égal à 00
, cela signifie que la requête a été traitée avec succès et que le lien de paiement est disponible dans le champ response_text
.
Vous pouvez alors rediriger votre client vers ce lien pour qu'il puisse effectuer le paiement.
1{
2 "response_code": "00",
3 "token": "eyJ0eXAiOiJKV1QiLCJh...GlyeV9kYXRlIjoxNzE2Mzc2NTE3fQ.7iwLZVmG_Hw_ncFUcF5Hzk8cB2BSUqroF9rGqym_qSw",
4 "response_text": "https://client.ligdicash.com/directpayment/invoice/eyJ0eXAiOiJKV1QiL...SUqroF9rGqym_qSw",
5 "description": "",
6 "custom_data": {
7 "logfile": "20240521131517664c9e65689a3"
8 },
9 "wiki": "https://client.ligdicash.com/wiki/createInvoice"
10}
11
Vérifier le statut de la transaction
Une fois que le client a effectué le paiement, il sera redirigé vers la page de retour (return_url
ou cancel_url
) que vous avez définie lors de la génération du lien de paiement.
Vous devrez alors vérifier le statut de la transaction pour confirmer réellement le statut du paiement.
Pour vérifier le statut de la transaction, vous devez utiliser le token retourné lors de la création de la facture, et effectuer la requête suivante:
1curl --location 'https://app.ligdicash.com/pay/v01/redirect/checkout-invoice/confirm/?invoiceToken=eyJ0eXAiOiJK...nk159cWyokRv6wAlh3g' \
2--header 'Apikey: 81J...IDH8C' \
3--header 'Authorization: Bearer eyJ0eXAiOiJ...4LyaRolhw' \
4--data ''
Interpréter la réponse
Lorsque vous recevez la réponse de la requête de vérification du statut de la transaction, vous devez vous assurez que response_code == 00
et que status == completed
avant de valider la transaction et de livrer le service ou le produit à votre client.
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