Personnaliser le comportement de redirection
Affichez une page de confirmation contenant les informations de commande de votre client.
Si vous avez une intégration Checkout qui utilise un formulaire intégré, vous pouvez personnaliser la façon dont Stripe redirige vos clients après qu’ils aient effectué le paiement. Vous pouvez demander à Stripe de toujours rediriger les clients, de rediriger uniquement certains moyens de paiement ou de désactiver complètement les redirections.
Pour configurer les redirections, précisez la page de retour dans le paramètre return_
.
Vous pouvez aussi :
- Ne rediriger les clients que si le moyen de paiement l’exige (par exemple, une page d’autorisation bancaire pour un paiement par débit).
- Ne pas utiliser de page de retour et désactiver les moyens de paiement fondés sur la redirection.
Rediriger les clients vers une page de retour
Lorsque vous créez la session Checkout, vous devez préciser l’URL de la page de retour dans le return_
paramètre. Incluez la variable de modèle {CHECKOUT_
dans l’URL. Lorsque Checkout redirige un client, il remplace la variable par l’ID de session Checkout réel. Lorsque votre page de retour est présentée, récupérez l’état de la session Checkout à l’aide de l’ID de session Checkout dans l’URL.
app.get('/session_status', async (req, res) => { const session = await stripe.checkout.sessions.retrieve(req.query.session_id); const customer = await stripe.customers.retrieve(session.customer); res.send({ status: session.status, payment_status: session.payment_status, customer_email: customer.email }); });
Gérez le résultat en fonction de l’état de la session comme suit :
complete
: Le paiement a été effectué. Utilisez les informations de la session Checkout pour afficher une page de confirmation de paiement.open
: Le paiement a échoué ou a été annulé. Chargez de nouveau le paiement afin que votre client puisse réessayer.
const session = await fetch(`/session_status?session_id=${session_id}`) if (session.status == 'open') { // Remount embedded Checkout else if (session.status == 'complete') { // Show success page // Optionally use session.payment_status or session.customer_email // to customize the success page }
Moyens de paiement fondés sur la redirection
Lors du paiement, certains moyens de paiement redirigent le client vers une page intermédiaire, telle qu’une page d’autorisation bancaire. Une fois que le client a terminé sur cette page, Stripe le redirige vers votre page de retour.
Redirection uniquement pour les moyens de paiement fondés sur la redirection
Si vous ne souhaitez pas rediriger les clients après des paiements qui ne nécessitent pas de redirection, ous pouvez définir redirect_on_completion à if_
. Seuls les clients qui choisissent un moyen de paiement avec redirection seront redirigés.
Pour les paiements par carte, Checkout affiche un état de réussite par défaut au lieu de rediriger. Pour utiliser votre propre état de réussite, transmettez un rappel onComplete qui détruit l’instance Checkout et affiche votre état de réussite personnalisé
onComplete
est appelé lorsque la session Checkout se termine avec succès, ou lorsque l’événement webhook checkout.session.completed est envoyé.
Désactiver les moyens de paiement fondés sur la redirection
Si vous ne souhaitez pas créer de page de retour, créez votre session Checkout avec redirect_on_completion défini à never
.
Cela désactive les moyens de paiement fondés sur la redirection :
- Si vous utilisez des moyens de paiement dynamiques, vous pouvez toujours gérer les moyens de paiement à partir du Dashboard, mais les moyens de paiement qui nécessitent une redirection ne peuvent pas être utilisés.
- Si vous précisez manuellement des moyens de paiement avec payment_method_types, vous ne pourrez pas inclure de moyens de paiement fondés sur la redirection.
Le paramètre redirect_
supprime l’exigence return_
. Pour ces sessions, Checkout affiche un état de réussite par défaut au lieu de rediriger. Vous pouvez utiliser votre propre état de réussite en transmettant un rappel onComplete qui détruit l’instance Checkout et affiche votre état de réussite personnalisé.
onComplete
est appelé lorsque la session Checkout se termine avec succès, ou lorsque l’événement webhook checkout.session.completed est envoyé.