Accéder directement au contenu
Créez un compte
ou
connectez-vous
Le logo de la documentation Stripe
/
Demander à l’IA
Créer un compte
Connectez-vous
Commencer
Paiements
Revenus
Plateformes et places de marché
Gestion des fonds
Ressources de développement
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
AperçuTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
    Aperçu
    Démarrage rapide
    Personnaliser l'apparence
    Collecter des informations supplémentaires
    Percevoir des taxes
    Mise à jour dynamique du paiement
    Gérer votre catalogue de produits
    Abonnements
    Gérer les moyens de paiement
    Offrir aux clients la possibilité de payer dans leur devise locale
    Ajoutez des réductions, des ventes incitatives et des articles facultatifs
    Configurer les paiements futurs
    Enregistrer les informations de paiement lors du paiement
      Clients invités
    Approuver manuellement les paiements sur votre serveur
    Après le paiement
    Liste des modifications de la version bêta d'Elements avec l'API Checkout Sessions
    Migrer depuis l'ancienne version de Checkout
    Migrer vers Checkout pour utiliser l'API Prices
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajout de moyens de paiement
Gérer les moyens de paiement
Payer plus rapidement avec Link
Interfaces de paiement
Payment Links
Paiement
Web Elements
Elements dans l'application
Scénarios de paiement
Gérez plusieurs devises
Flux de paiement personnalisés
Acquisition flexible
Orchestration
Paiements en personne
Terminal
Au-delà des paiements
Constituer son entreprise
Cryptomonnaie
Financial Connections
Climate
Comprendre la fraude
Radar pour la protection contre la fraude
Gérer les litiges
Vérifier l'identité
AccueilPaiementsBuild a checkout page

Enregistrer les informations de paiement lors du paiement

Découvrez comment accepter un paiement et enregistrer les informations de paiement de votre client pour de futurs achats.

Utilisez Stripe Checkout pour intégrer un formulaire de paiement prédéfini dans votre site Web qui permet à vos clients d’enregistrer leurs informations de paiement pour des achats futurs.

Configurer Stripe
Côté serveur

Tout d’abord, inscrivez-vous pour créer un compte Stripe.

Utilisez nos bibliothèques officielles pour accéder à l’API Stripe à partir de votre application :

Command Line
Ruby
Python
PHP
Java
Node
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Créer un client
Côté serveur

Pour configurer une carte en vue de paiements futurs, vous devez l’associer à un client. Lorsque votre client ouvre un compte chez vous, créez un objet Customer, qui permet de réutiliser des moyens de paiement et d’assurer le suivi de plusieurs paiements.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d name="Jenny Rosen" \ --data-urlencode email="jennyrosen@example.com"

Lorsque la création réussit, l’objet Customer est renvoyé. Vous pouvez consulter l’objet pour identifier l’id du client et stocker cette valeur dans votre base de données pour la récupérer ultérieurement.

Vous pouvez trouver ces clients dans la page Clients du Dashboard.

Créer une session Checkout
Côté serveur

Sur votre serveur, créez une session Checkout et définissez le paramètre ui_mode to embedded. Vous pouvez configurer la session Checkout pour y inclure des postes de facture et d’autres options telles que la devise.

Vous pouvez également créer une session Checkout pour un client existant, ce qui vous permet de remplir automatiquement les coordonnées des clients connus dans les champs Checkout et d’unifier leur historique d’achat.

Pour rediriger les clients vers une page personnalisée que vous hébergez sur votre site Web, précisez l’adresse URL de cette page dans le paramètre return_url. Incluez la variable de modèle {CHECKOUT_SESSION_ID} dans l’URL pour récupérer l’état de la session sur la page de retour. Checkout remplace automatiquement la variable par l’ID de session Checkout avant la redirection.

En savoir plus sur la configuration de la page de retour et les autres options pour personnaliser le comportement de redirection.

Après avoir créé la session Checkout, utilisez le client_secret retourné dans la réponse pour charger Checkout.

Ruby
Python
PHP
Java
Node
Go
.NET
No results
# This example sets up an endpoint using the Sinatra framework. # To learn more about Sinatra, watch this video: https://youtu.be/8aA9Enb8NVc. require 'json' require 'sinatra' require 'stripe' # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
post '/create-checkout-session' do session = Stripe::Checkout::Session.create({ line_items: [{ price_data: { currency: 'usd', product_data: { name: 'T-shirt', }, unit_amount: 2000, }, quantity: 1, }], mode: 'payment', ui_mode: 'embedded', return_url: 'https://example.com/checkout/return?session_id={CHECKOUT_SESSION_ID}' }) {clientSecret: session.client_secret}.to_json end

Monter Checkout
Côté client
Côté serveur

Checkout est disponible dans Stripe.js. Intégrez le script Stripe.js à votre page en l’ajoutant à l’en-tête de votre fichier HTML. Ensuite, créez un nœud DOM vide (conteneur) à utiliser lors du montage.

index.html
<head> <script src="https://js.stripe.com/basil/stripe.js"></script> </head> <body> <div id="checkout"> <!-- Checkout will insert the payment form here --> </div> </body>

Initialisez Stripe.js avec votre clé API publique.

Créez une fonction asynchrone fetchClientSecret qui envoie une requête à votre serveur pour créer la session Checkout et récupérer la clé secrète du client. Transmettez cette fonction dans options lorsque vous créez l’instance Checkout :

index.js
// Initialize Stripe.js const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); initialize(); // Fetch Checkout Session and retrieve the client secret async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Initialize Checkout const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, }); // Mount Checkout checkout.mount('#checkout'); }

Checkout est affiché dans une balise iframe qui envoie de manière sécurisée les informations de paiement à Stripe par une connexion HTTPS.

Erreur fréquente

Évitez de placer Checkout dans une autre balise iframe, car certains moyens de paiement nécessitent une redirection vers une autre page pour obtenir la confirmation du paiement.

Enregistrer le moyen de paiement
Côté serveur

Après avoir configuré votre intégration de Checkout intégrée, choisissez une configuration pour votre intégration afin d’enregistrer les moyens de paiement utilisés par vos clients.

Par défaut, les moyens de paiement utilisés pour effectuer un paiement ponctuel avec Checkout ne sont pas disponibles pour une utilisation future.

Enregistrer les moyens de paiement pour les débiter hors session

Vous pouvez configurer Checkout de façon à enregistrer les modes de paiement utilisés pour effectuer des paiements ponctuels en transmettant l’argument payment_intent_data.setup_future_usage. Cela peut notamment vous permettre de capturer un mode de paiement enregistré afin de prélever des frais futurs, comme des frais d’annulation ou de non-présentation.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer_creation=always \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/return" \ -d "payment_intent_data[setup_future_usage]"=off_session

Si vous utilisez Checkout en mode subscription, Stripe enregistre automatiquement le mode de paiement pour le débiter lors des paiements suivants. Les modes de paiement par carte enregistrés pour les clients utilisant les modes setup_future_usage ou subscription ne s’affichent pas dans Checkout pour les achats récurrents (plus d’informations à ce sujet ci-dessous). Nous vous recommandons d’utiliser du texte personnalisé pour rediriger vos clients vers les conditions pertinentes concernant l’utilisation des informations de paiement enregistrées.

Avertissement

Les lois internationales en matière de protection de la vie privée sont complexes et nuancées. Nous vous recommandons de contacter votre conseiller juridique et votre équipe responsable de la conformité avant de mettre en œuvre setup_future_usage, car cela pourrait impliquer votre cadre de conformité existant en matière de confidentialité. Pour en savoir plus sur l’enregistrement des informations de paiement. reportez-vous aux directives du Comité européen de la protection des données.

Enregistrer les moyens de paiement pour qu’ils soient remplis automatiquement dans Checkout

Par défaut, Checkout utilise Link pour offrir à vos clients la possibilité d’enregistrer et de réutiliser leurs informations de paiement en toute sécurité. Si vous préférez gérer vous-même les modes de paiement, utilisez saved_payment_method_options.payment_method_save lors de la création d’une session Checkout. Vos clients pourront ainsi enregistrer leurs modes de paiement pour leurs futurs achats dans Checkout.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer_creation=always \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/return" \ -d "saved_payment_method_options[payment_method_save]"=enabled

La transmission de ce paramètre en mode paiement ou abonnement affiche une case à cocher facultative qui permet aux clients d’enregistrer explicitement leur mode de paiement pour leurs futurs achats. Lorsque les clients cochent cette case, Checkout enregistre le mode de paiement avec allow_redisplay : always. Checkout utilisera ce paramètre pour déterminer si un mode de paiement peut être rempli automatiquement lors des futurs achats. Lorsque vous utilisez saved_payment_method_options.payment_method_save, vous n’avez pas besoin de transmettre setup_future_usage pour enregistrer le mode de paiement.

L’utilisation de saved_payment_method_options.payment_method_save nécessite un Customer. Pour enregistrer un nouveau client, définissez le paramètre customer_creation de la session Checkout sur always. Sinon, la session n’enregistre, ni le client, ni le mode de paiement.

Si payment_method_save n’est pas transmis ou si le client refuse d’enregistrer le mode de paiement, Checkout enregistre toutefois les modes de paiement créés en mode subscription ou à l’aide de setup_future_usage. La valeur allow_redisplay de ces modes de paiement est définie sur limited. Cela évite qu’ils soient remplis automatiquement pour les achats récurrents, et vous permet de vous conformer aux règles des réseaux de cartes et aux réglementations en matière de protection des données. Découvrez comment modifier le comportement par défaut activé par ces modes et comment modifier ou remplacer le comportement allow_redisplay.

Remarques

Vous pouvez utiliser Checkout pour enregistrer des cartes et d’autres modes de paiement afin de les débiter hors session, mais Checkout ne remplit automatiquement que les cartes enregistrées. Découvrez comment remplir automatiquement les cartes enregistrées. Pour enregistrer un mode de paiement sans paiement initial, utilisez Checkout en mode configuration.

Cette page vous a-t-elle été utile?
OuiNon
  • Besoin d'aide? Contactez le service d'assistance.
  • Rejoignez notre programme d'accès anticipé.
  • Consultez notre journal des modifications.
  • Des questions? Contactez l'équipe commerciale.
  • GML? Lire llms.txt.
  • Optimisé par Markdoc