WebView native vs navigateur externe
| Approche | Retour automatique | UX | Recommandé |
|---|---|---|---|
| WebView native | Oui — détection par URL | Fluide, reste dans l’app | ✅ |
| SFSafariViewController / Chrome Custom Tabs | Partiel — deep link requis | Sort brièvement de l’app | Acceptable |
| Navigateur système | Non | Quitte l’app | ✗ |
SFSafariViewController (iOS) et Chrome Custom Tabs (Android) ne permettent pas d’intercepter les redirections vers vos URLs de retour. Ils ne conviennent pas pour ce cas d’usage sans mettre en place un deep link.React Native
Dépendance :react-native-webview
React Native
Flutter
Dépendance :webview_flutter
pubspec.yaml
Flutter
iOS (Swift / WKWebView)
iOS (Swift)
iOS (Swift)
Android (Kotlin / WebView)
Android (Kotlin)
Android (Kotlin)
PaiementActivity dans votre AndroidManifest.xml :
AndroidManifest.xml
Après la détection du retour
Le flux est identique quelle que soit la plateforme :Afficher un écran de vérification
Montrez un indicateur de chargement — « Vérification du paiement en cours… » — le temps d’interroger votre backend.
Appeler votre backend
Votre backend appelle l’endpoint
confirm avec le token stocké à la création de la facture.Pages associées
- Rediriger le client — pattern popup web et vue d’ensemble des modes d’ouverture
- Vérifier le statut — appeler
confirmaprès la redirection - Pièges courants — iframe bloqué et autres erreurs fréquentes
