Configuration des URLs de Paiement
🎯 Problème Résolu​
Après un paiement réussi, vous étiez redirigé vers https://example.com/success au lieu d'une page appropriée.
✅ Solution Implémentée​
1. URLs Mises à Jour​
J'ai modifié les URLs de redirection dans les services Stripe :
// Avant
'success_url': 'https://example.com/success?session_id={CHECKOUT_SESSION_ID}',
'cancel_url': 'https://example.com/cancel',
// Après
'success_url': 'https://kazacalendar.app/payment/success?session_id={CHECKOUT_SESSION_ID}',
'cancel_url': 'https://kazacalendar.app/payment/cancel',
2. Pages de Confirmation Créées​
J'ai créé deux pages web personnalisées :
web/payment/success.html- Page de confirmation de paiement réussiweb/payment/cancel.html- Page d'annulation de paiement
🎨 Fonctionnalités des Pages​
Page de Succès (success.html)​
- âś… Design moderne avec animation
- âś… Informations de paiement (date, ID de session)
- âś… Bouton de fermeture automatique
- ✅ Auto-fermeture après 10 secondes
- âś… Responsive pour mobile et desktop
Page d'Annulation (cancel.html)​
- ✅ Design cohérent avec la page de succès
- âś… Explication claire de l'annulation
- ✅ Bouton de réessai du paiement
- ✅ Auto-fermeture après 15 secondes
🔧 Configuration des URLs​
Option 1 : Utiliser kazacalendar.app (Recommandé)​
Si vous avez un domaine kazacalendar.app :
- Hébergez les pages sur votre serveur web
- Les URLs fonctionnent immédiatement
- Personnalisez les pages selon vos besoins
Option 2 : Utiliser un Autre Domaine​
Modifiez les URLs dans les services Stripe :
// Dans stripe_payment_service_impl_simple.dart
'success_url': 'https://votre-domaine.com/payment/success?session_id={CHECKOUT_SESSION_ID}',
'cancel_url': 'https://votre-domaine.com/payment/cancel',
Option 3 : Utiliser GitHub Pages (Gratuit)​
- Créez un repository sur GitHub
- Uploadez les fichiers HTML
- Activez GitHub Pages
- URL sera :
https://votre-username.github.io/votre-repo/payment/success.html
🚀 Déploiement des Pages​
Méthode 1 : Serveur Web Classique​
# Copier les fichiers sur votre serveur
scp web/payment/*.html user@votre-serveur.com:/var/www/html/payment/
# Ou avec rsync
rsync -av web/payment/ user@votre-serveur.com:/var/www/html/payment/
Méthode 2 : GitHub Pages​
- Créer un repository :
kazacalendar-payment-pages - Uploader les fichiers :
kazacalendar-payment-pages/
├── payment/
│ ├── success.html
│ └── cancel.html - Activer GitHub Pages dans les settings
- URL finale :
https://votre-username.github.io/kazacalendar-payment-pages/payment/success.html
Méthode 3 : Netlify (Recommandé)​
- Connecter votre repository GitHub
- Déployer automatiquement
- URL personnalisée :
https://kazacalendar-payment.netlify.app
🎨 Personnalisation des Pages​
Modifier le Design​
Les pages utilisent du CSS pur, facilement personnalisable :
/* Changer les couleurs */
body {
background: linear-gradient(135deg, #votre-couleur1, #votre-couleur2);
}
.logo {
color: #votre-couleur-primaire;
}
Ajouter des Informations​
<!-- Ajouter des détails de commande -->
<div class="detail-item">
<span class="detail-label">Commande :</span>
<span class="detail-value" id="commande-titre"></span>
</div>
Intégrer avec votre Backend​
// Récupérer des informations depuis votre API
fetch(`/api/payment-details?session_id=${sessionId}`)
.then(response => response.json())
.then(data => {
document.getElementById('commande-titre').textContent = data.titre;
});
🧪 Test des URLs​
1. Test Local​
# Servir les pages localement
cd web/payment
python -m http.server 8000
# Tester les URLs
# http://localhost:8000/success.html?session_id=test123
# http://localhost:8000/cancel.html
2. Test avec Stripe​
- Modifiez temporairement les URLs pour pointer vers localhost
- Testez un paiement avec une carte de test
- Vérifiez que la redirection fonctionne
3. Test de Production​
- Déployez les pages sur votre serveur
- Testez avec de vraies URLs
- Vérifiez que tout fonctionne
🔍 Dépannage​
Problème : Page ne se charge pas​
Vérifications :
- URL correcte dans la configuration Stripe
- Fichiers HTML accessibles
- Serveur web fonctionnel
Solution :
# Tester l'accessibilité
curl -I https://kazacalendar.app/payment/success.html
Problème : Auto-fermeture ne fonctionne pas​
Cause : La fenĂŞtre n'est pas une popup
Solution : C'est normal, l'auto-fermeture ne fonctionne que pour les popups
Problème : Design cassé sur mobile​
Vérifications :
- Viewport meta tag présent
- CSS responsive correct
- Test sur différents appareils
📱 Expérience Utilisateur​
Flow Complet​
- Client clique sur le lien de paiement
- Page Stripe s'ouvre
- Paiement effectué avec succès
- Redirection vers page de confirmation
- Page se ferme automatiquement
- Client retourne Ă l'application
Avantages​
- ✅ Expérience professionnelle
- âś… Confirmation claire du paiement
- ✅ Informations détaillées
- ✅ Design cohérent avec votre marque
- âś… Fermeture automatique pratique
🎉 Résultat​
Maintenant, après un paiement réussi, vos clients verront une belle page de confirmation au lieu d'une page d'exemple !
L'expérience utilisateur est beaucoup plus professionnelle et rassurante. 🎊