Passer au contenu principal
Ce guide explique comment intégrer LigdiCash dans une application mobile. Il couvre l’architecture recommandée, l’ouverture de la page de paiement via WebView, la détection du retour utilisateur et la confirmation du paiement côté backend. Pré-requis : vous avez un backend exposant une route d’initiation du paiement et une route de statut. Ne jamais appeler l’API LigdiCash directement depuis l’application mobile. Voir Architecture recommandée.

Architecture mobile

Ne jamais ouvrir l’URL LigdiCash dans le navigateur système. Cela fait quitter l’application et rend le retour impossible à détecter proprement. Utilisez une WebView native ou, en fallback acceptable, SFSafariViewController / Chrome Custom Tabs avec deep link.

React Native

Installation

Composant WebView de paiement

React Native

Intégration dans un écran de paiement

React Native

Flutter

Dépendance

pubspec.yaml

Widget WebView de paiement

Flutter

Écran de paiement complet

Flutter

Gérer l’état “pending”

Quand le callback n’est pas encore arrivé au moment où l’utilisateur revient dans l’application, la transaction est pending. Deux approches :
Affichez un écran « Vérification en cours » et interrogez votre backend toutes les 3 secondes pendant 30 secondes maximum.
Flutter — polling

Points de vigilance

La détection de return_url ou cancel_url dans la WebView est un signal d’interface, pas une preuve de paiement. Confirmez toujours le statut via votre backend avant d’afficher une confirmation à l’utilisateur.
Sur iOS, WKWebView (utilisé par react-native-webview et webview_flutter) bloque les requêtes vers des URLs HTTP si App Transport Security est activé. Utilisez des URLs HTTPS pour votre return_url et cancel_url.
Passez le transaction_id dans les paramètres de query de return_url et cancel_url (?txn=txn_abc123) pour l’extraire facilement dans la WebView sans avoir à le stocker en état global.

Pages associées