Mettre à jour les réductions de manière dynamiqueVersion bêta privée
Mettez à jour les réductions en réponse aux modifications apportées par les clients lors du paiement.
Version bêta privée
Cette fonctionnalité est disponible en version bêta privée. Demander l’accès aux réductions dynamiques dans la page de paiement.
Découvrez comment ajouter ou supprimer dynamiquement des réductions sur une session Checkout.
Cas d’usage
Ce guide vous explique comment intégrer votre système de réductions interne pour créer des remises dynamiques, mais vous pouvez également appliquer :
- Des remises de fidélité : appliquez automatiquement des remises en fonction du niveau de fidélité du client ou de l’historique d’achat.
- Des promotions sur la valeur du panier : Ajoutez des réductions lorsque le total de la commande dépasse des seuils spécifiques (par exemple, 10 $ de réduction sur les commandes de plus de 100 $).
- Des offres à durée limitée : appliquez des remises promotionnelles à durée limitée ou supprimez les codes de réduction expirés.
- Des remises basées sur la localisation : appliquez des remises spécifiques à chaque région en fonction de l’adresse de livraison du client.
- Des offres spécifiques aux clients : créez des montants de remise personnalisés en fonction de certains segments de clientèle ou comportements d’achat passés.
Configurer le SDKCôté serveur
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Mettre à jour le SDK du serveurCôté serveur
Pour utiliser cette fonctionnalité en version bêta, commencez par mettre à jour votre SDK afin d’utiliser l’en-tête de version bêta checkout_
.
Configurer les autorisations de mise à jour de Checkout SessionCôté serveur
Transmettez permissions.update_discounts=server_only lors de la création de la session Checkout pour activer la mise à jour des réductions à partir de votre serveur. La transmission de cette option désactive l’application de la réduction côté client, ce qui permet de garantir que toute la logique de remise passe par votre serveur.
Mettre à jour les réductions de manière dynamiqueCôté serveur
Créez un nouvel endpoint sur votre serveur pour appliquer des réductions à la session Checkout. Vous l’appellerez à partir du front-end dans une étape ultérieure.
Conseil en matière de sécurité
Le code côté client s’exécute dans un environnement entièrement contrôlé par l’utilisateur. Un utilisateur malveillant peut contourner votre validation côté client, intercepter et modifier les requêtes, ou même créer des requêtes entièrement nouvelles pour votre serveur.
Pour concevoir l’endpoint, nous recommandons ce qui suit :
- Concevez des endpoints pour des interactions spécifiques avec le client plutôt que de les formuler de manière trop générique (par exemple, « appliquer une remise de fidélité » plutôt qu’une action générale comme « mettre à jour »). Des endpoints spécifiques permettent de garder l’objectif clair et facilitent l’écriture et le maintien de la logique de validation.
- Évitez de transmettre les données de session directement depuis le client à votre endpoint. Des clients malveillants peuvent modifier les données de requête, ce qui en fait une source peu fiable pour déterminer l’état de la session Checkout. Transmettez plutôt l’ID de session à votre serveur et utilisez-le pour récupérer en toute sécurité les données de l’API de Stripe.
Tester l'intégration
Suivez ces étapes pour tester votre intégration et vous assurer que vos remises dynamiques fonctionnent correctement.
Configurez un environnement de test qui reflète votre configuration en mode production. Utilisez les clés API d’environnement de test Stripe pour cet environnement.
Simulez différents scénarios de remise pour vérifier que votre fonction
recomputeDiscounts
gère correctement les différents scénarios.Vérifiez la logique côté serveur en utilisant des outils de journalisation ou de débogage pour vous assurer que votre serveur :
- Récupère la session Checkout.
- Valide les demandes de réduction.
- Recalcule les réductions mises à jour en fonction de votre logique métier.
- Mets à jour la session Checkout avec les nouvelles réductions lorsque vos conditions personnalisées sont remplies. Assurez-vous que la réponse de mise à jour contient les nouvelles réductions. Par défaut, la réponse ne contient pas le champ discounts, sauf si la requête développe l’objet.
Vérifiez la logique côté client en effectuant plusieurs fois le processus de paiement dans votre navigateur. Observez la façon dont l’interface utilisateur se met à jour après l’application d’une réduction. Assurez-vous que :
- La fonction runServerUpdate est appelée comme prévu.
- Les remises s’appliquent correctement en fonction de votre logique métier.
- Le total du paiement est mis à jour pour refléter la réduction appliquée.
- Les messages d’erreur s’affichent correctement lorsqu’une application de réduction a échoué.
Testez divers scénarios de réduction, y compris des demandes de remise non valides, ou simulez des erreurs de serveur pour tester la gestion des erreurs, tant du côté serveur que du côté client.