Principe fondamental : tout passe par le backend
Vos identifiants LigdiCash (Apikey et Auth Token) ne doivent jamais apparaître dans votre frontend, votre application mobile ou votre code source public. Toutes les requêtes vers l’API LigdiCash partent de votre serveur.Structure de la table des transactions
Votre base de données doit conserver assez d’informations pour tracer chaque transaction, traiter le callback de manière idempotente et effectuer un polling de fallback.Le champ
ligdicash_token doit être stocké dès la création de la facture. C’est lui que vous utiliserez pour appeler l’endpoint confirm, aussi bien dans le callback que dans le polling de fallback. Ne comptez pas sur le token reçu dans le callback — c’est un token différent.Endpoints à exposer côté backend
Votre backend joue le rôle de proxy entre votre frontend et l’API LigdiCash. Exposez au minimum ces trois routes :| Route | Méthode | Rôle |
|---|---|---|
/api/paiement/initier | POST | Crée la facture LigdiCash, stocke le token, retourne l’URL de paiement |
/api/paiement/:id/statut | GET | Retourne le statut de la transaction (avec polling LigdiCash si encore pending) |
/api/ligdicash/callback | POST | Reçoit les notifications LigdiCash, re-vérifie, met à jour la base |
Route d’initiation
Node.js (Express)
Route de callback
Node.js (Express)
Fallback polling
LigdiCash n’impose pas de politique de retry sur les callbacks. Si votre endpoint était indisponible ou si un callback a été manqué, une transaction peut resterpending indéfiniment. Mettez en place un polling périodique côté backend.
Fallback polling (cron)
LigdiCash ne passe jamais automatiquement une transaction en
notcompleted. Une transaction reste pending indéfiniment si le client n’a pas finalisé le paiement. Après 24h, vous pouvez considérer la transaction expirée et la clôturer vous-même.Logging et audit
Conservez une trace de chaque interaction avec LigdiCash pour faciliter le diagnostic en cas de litige.Variables d’environnement
.env
Schéma récapitulatif
Pages associées
- Sécurisation du callback — pourquoi re-vérifier toujours
- Idempotence du callback — gérer le double envoi LigdiCash
- Pattern transaction_id — identifier les transactions de manière fiable
- Checklist de mise en production — vérifications avant le go-live
