Paiements pour les clients existants
Découvrez comment débiter un moyen de paiement existant pendant une session.
Les sessions Checkout permettent à vos clients de saisir leurs données de paiement. S’il s’agit d’un client existant, vous pouvez configurer la session Checkout de manière à ce que les informations du client soient préremplies avec l’une de ses cartes bancaires enregistrées.

Créer une session CheckoutCôté clientCôté serveur
Ajoutez à votre site Web un bouton de paiement qui appelle un endpoint côté serveur afin de créer une session Checkout.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Checkout prend en charge la réutilisation d’objets Customer existants avec le paramètre customer
. Lors de la réutilisation de clients existants, tous les objets créés par Checkout, tels que les Payment Intents et les Subscriptions, sont associés à cet objet Customer.
Associez la variable de modèle {CHECKOUT_
à l’URL success_
pour accéder à l’ID de session une fois que votre client termine sa session Checkout. Après avoir créé la session Checkout, redirigez votre client vers l’URL renvoyée dans la réponse.
Préremplir les champs sur la page de paiement
Si toutes les conditions suivantes sont remplies, Checkout remplit automatiquement les champs adresse e-mail, nom, carte et adresse de facturation sur la page de paiement à l’aide des informations de la carte enregistrée du client :
- Checkout est en mode
payment
ousubscription
. Le modesetup
ne prend pas en charge le remplissage automatique des champs. - Le client dispose d’une carte enregistrée. Checkout prend uniquement en charge le préremplissage des moyens de paiement par carte.
- La carte enregistrée a
allow_
défini surredisplay always
ou vous avez ajusté le paramètre d’affichage par défaut. - Le moyen de paiement comprend l’attribut
billing_
requis par la valeurdetails billing_
de la session Checkout :address_ collection auto
requiert des valeurs pouremail
,name
etaddress[country]
. Les adresses de facturation aux États-Unis, au Canada et au Royaume-Uni nécessitent également l’attributaddress[postal_
.code] required
requiert des valeurs pouremail
,name
et tous les champsaddress
.
Si votre client possède plusieurs cartes enregistrées, Checkout remplit automatiquement les informations de la carte correspondant à l’ordre de priorité suivant :
- En mode
payment
, Stripe remplit automatiquement les champs à l’aide de la dernière carte enregistrée du client. - En mode
subscription
, Stripe préremplit le moyen de paiement par défaut du client s’il s’agit d’une carte. Dans le cas contraire, Stripe remplit automatiquement la dernière carte enregistrée.
Lorsque Checkout collecte une adresse de livraison, les champs de l’adresse de livraison sont préremplis si la shipping.address du client correspond aux pays pris en charge de la session Checkout.
Expiration du préremplissage
Le moyen de paiement prérempli s’affiche pendant 30 minutes après la création de la session Checkout. Après son expiration, le chargement de la même session Checkout ne préremplit plus le moyen de paiement pour des raisons de sécurité.
Gérer les événements post-paiementCôté serveur
Stripe envoie un événement checkout.session.completed lorsqu’un client effectue un paiement par session Checkout. Utilisez l’outil de webhook Dashboard ou suivez le guide consacré aux webhooks pour recevoir et gérer ces événements. Ceux-ci peuvent vous conduire à :
- Envoyez un e-mail de confirmation de commande à votre client.
- Enregistrez la vente dans une base de données.
- Démarrez un flux de travail d’expédition.
Écoutez ces événements plutôt que d’attendre que votre client soit redirigé vers votre site Web. Le déclenchement du traitement uniquement à partir de votre page de renvoi Checkout n’est pas fiable. En configurant votre intégration de manière à ce qu’elle écoute les événements asynchrones, vous pourrez accepter plusieurs types de moyens de paiement avec une seule intégration.
Pour en savoir plus, consultez notre guide de traitement des commandes avec Checkout.
Gérez les événements suivants lors de la collecte de paiements avec Checkout :
Événement | Description | Action |
---|---|---|
checkout.session.completed | Envoyé lorsqu’un client termine une session Checkout. | Envoyez au client une confirmation de commande et traitez sa commande. |
checkout.session.async_payment_succeeded | Envoyé lorsqu’un paiement effectué avec un moyen de paiement différé (par exemple, un prélèvement automatique ACH) aboutit. | Envoyez au client une confirmation de commande et traitez sa commande. |
checkout.session.async_payment_failed | Envoyé lorsqu’un paiement effectué avec un moyen de paiement différé (par exemple, un prélèvement automatique ACH) échoue. | Informez le client de l’échec et redirigez-le vers la session pour tenter à nouveau de payer. |