Personnaliser le comportement de redirection
Affichez une page de confirmation contenant les informations relatives à la commande de votre client.
Si vous disposez d’une intégration Checkout qui utilise un formulaire intégré, vous pouvez personnaliser la manière dont Stripe redirige ou non vos clients une fois le paiement effectué. Vous pouvez demander à Stripe de rediriger systématiquement les clients, de les rediriger uniquement pour certains moyens de paiement, ou de désactiver complètement les redirections.
Pour configurer des redirections, indiqueez la page de retour dans le paramètre return_
.
Vous pouvez également :
- Rediriger uniquement les clients si le moyen de paiement l’exige (par exemple, une page d’autorisation bancaire pour un moyen de paiement par prélèvement).
- Ne pas utiliser de page de retour et désactiver les moyens de paiement basés sur la redirection.
Rediriger les clients vers une page de retour
Lorsque vous créez la session Checkout, indiquez l’URL de la page renvoyée dans le paramètre return_
. Incluez la variable de modèle {CHECKOUT_
dans l’URL. Lorsque Checkout redirige un client, la variable est remplacée par l’ID de session Checkout. Lors du rendu de votre page de retour, récupérez l’état de la session Checkout à l’aide de l’ID de la 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 }); });
Traitez le résultat en fonction de l’état de la session comme suit :
complete
: le paiement a abouti. Utilisez les informations de la session Checkout pour afficher une page de confirmation.open
: le paiement a échoué ou a été annulé. Montez à nouveau Checkout pour que votre client puisse effectuer une nouvelle tentative.
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 avec redirection
Lors du paiement, certains moyens de paiement redirigent le client vers une page intermédiaire, comme la page d’autorisation de sa banque. Une fois qu’il a renseigné cette page, Stripe le redirige vers votre page de retour.
Rediriger uniquement pour les moyens de paiement avec redirection
Si vous ne souhaitez pas rediriger les clients après les paiements qui ne nécessitent pas de redirection, définissez redirect_on_completion sur if_
. Cela redirige uniquement les clients qui paient à l’aide de moyens de paiement avec redirection.
Pour les paiements par carte, Checkout affiche un état de réussite par défaut au lieu d’effectuer une redirection. 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 aboutit ou lorsque l’événement de webhook checkout.session.completed est envoyé.
Désactiver les moyens de paiement avec redirection
Si vous ne souhaitez pas créer de page de retour, définissez redirect_on_completion sur never
lors de la création de votre session Checkout.
Cela désactive les moyens de paiement avec redirection :
- Si vous utilisez des moyens de paiement dynamiques, vous pouvez toujours gérer les moyens de paiement depuis le Dashboard. Cependant, les moyens de paiement avec redirection ne sont pas admissibles.
- Si vous indiquez manuellement des moyens de paiement avec payment_method_types, vous ne pouvez pas inclure de moyen de paiement avec redirection.
redirect_
entraîne la suppression de l’exigence return_
. Pour ces sessions, Checkout affiche un état de réussite par défaut au lieu d’effectuer une redirection. 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 aboutit ou lorsque l’événement de webhook checkout.session.completed est envoyé.