Accéder directement au contenu
Créez un compte ou connectez-vous
Le logo de la documentation Stripe
/
Demander à l’IA
Créer un compteConnectez-vous
Commencer
Paiements
Revenus
Plateformes et places de marché
Gestion des fonds
Ressources de développement
API et trousse SDKAide
AperçuAccepter un paiementMettre votre intégration à niveau
Paiements en ligne
AperçuTrouver votre cas d'usage
Utiliser Payment Links
Utiliser une page de paiement préconfiguré
Créer une intégration personnalisée avec Elements
Développer une intégration dans l'application
Utiliser Managed Payments
Paiements récurrents
Paiements en personne
Terminal
Moyens de paiement
Ajout de moyens de paiement
Gérer les moyens de paiement
Payer plus rapidement avec Link
    Aperçu
    Paiements bancaires instantanés
    Klarna sur Link
    Aperçu
    Link avec Checkout
    Link avec Web Elements
    Link avec Mobile Elements
    Link avec Invoicing
    Guides d'intégration
    Intégrations de paiement Link
    Créer une page de paiement personnalisée incluant Link
    Configurer des paiements futurs à l'aide d'Elements et de Link
Opérations de paiement
Analyses
Soldes et délai de règlement
Conformité et sécurité
Devises
Refus de paiement
Litiges
Radar pour la protection contre la fraude
Virements
ReçusRemboursements et annulations
Intégrations avancées
Flux de paiement personnalisés
Acquisition flexible
Paiements hors session
Orchestration multiprestataires
Au-delà des paiements
Constituer son entreprise
Cryptomonnaie
Commerce agentique
Paiements automatiques
Financial Connections
Climate
Vérifier l'identité
États-Unis
Français (Canada)
  1. Accueil/
  2. Paiements/
  3. Faster checkout with Link

Remarque

Cette page n'est pas encore disponible dans cette langue. Nous faisons tout notre possible pour proposer notre documentation dans davantage de langues et nous vous fournirons la version traduite dès qu'elle sera disponible.

Créer une page de paiement personnalisée incluant Link

Intégrer Link à l’aide du Payment Element ou du Link Authentication Element.

Comparer les références Customers v1 et Accounts v2

Si votre plateforme Connect utilise des comptes configurés par le client, utilisez notre guide pour remplacer le Client et des références d’événements dans votre code avec les références équivalentes de l’API Accounts v2.

Ce guide vous explique comment accepter des paiements avec Link à l’aide de l’API Payment Intents et du composant Payment Element ou Link Authentication Element.

Il existe trois manières d’obtenir l’adresse courriel d’un client pour l’authentification et l’inscription de Link :

  • **Transmettre une adresse courriel : ** vous pouvez transmettre une adresse courriel à Payment Element à l’aide de defaultValues. Cette approche est recommandée si vous collectez déjà l’adresse courriel et/ou le numéro de téléphone du client dans le flux de paiement.
  • **Collecter une adresse courriel : ** vous pouvez collecter une adresse courriel directement dans Payment Element. Si vous ne collectez pas l’adresse courriel au cours du flux de paiement, nous vous recommandons cette approche.
  • Link Authentication Element : vous pouvez utiliser le Link Authentication Element pour créer un champ de saisie de l’adresse courriel unique afin d’effectuer la collecte de l’adresse courriel et l’authentification Link. Cette méthode est recommandée si vous utilisez l’Address Element.
Authentifiez-vous ou inscrivez-vous avec Link directement dans Payment Element lors du paiement

Recueillir l’adresse de courriel d’un client pour l’authentification ou l’inscription à Link

Configurer Stripe
Côté serveur

Tout d’abord, créez un compte Stripe ou connectez-vous à votre compte.

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

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

Créer un PaymentIntent
Côté serveur

Stripe utilise un objet PaymentIntent pour représenter votre intention de percevoir le paiement d’un client, qui suit les tentatives de paiement et les changements d’état de paiement tout au long du processus.

Un diagramme de l’ensemble du flux de paiement

If you collect card details for future usage with Setup Intents, list payment methods manually instead of using dynamic payment methods. To use Link without dynamic payment methods, update your integration to pass link to payment_method_types.

When you create a PaymentIntent, dynamically offer your customers the most relevant payment methods, including Link, by using dynamic payment methods. To use dynamic payment methods, don’t include the payment_method_types parameter. Optionally, you can also enable automatic_payment_methods.

Remarque

Lorsque votre intégration ne définit pas le paramètre payment_method_types, certains modes de paiement sont activés automatiquement, notamment les cartes et les portefeuilles numériques.

To add Link to your Elements integration using dynamic payment methods:

  1. In your Dashboard payment method settings, turn on Link.
  2. Si vous disposez d’une intégration existante qui répertorie manuellement les modes de paiement, retirez le paramètre payment_method_types de votre intégration.

Récupérer la clé secrète du client

L’objet PaymentIntent comprend une clé secrète du client utilisée côté client pour effectuer le processus de paiement en toute sécurité. Vous pouvez utiliser différentes approches pour transmettre cette clé au côté client.

Récupérez la clé secrète du client à partir d’un point de terminaison sur votre serveur, en utilisant la fonction fetch du navigateur. Cette approche est préférable si votre côté client est une application d’une page, en particulier si celle-ci a été créée avec un cadre d’application frontal récent comme React. Créez le point de terminaison du serveur pour récupérer la clé secrète du client :

main.rb
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
get '/secret' do intent = # ... Create or retrieve the PaymentIntent {client_secret: intent.client_secret}.to_json end

Ensuite, récupérez la clé secrète du client avec JavaScript côté client:

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

Collecter l’adresse courriel du client

Link authenticates a customer by using their email address. Depending on your checkout flow, you have the following options: pass an email to the Payment Element, collect it directly within the Payment Element, or use the Link Authentication Element. Of these, Stripe recommends passing a customer email address to the Payment Element if available.

If l’un des critères suivants s’applique à vous :

  • You want a single, optimized component for email collection and Link authentication.
  • Vous devez collecter une adresse de livraison auprès de votre client.

Then use the integration flow that implements these elements: the Link Authentication Element, Payment Element and optional Address Element.

A Link-enabled checkout page has the Link Authentication Element at the beginning, followed by the Address Element, and the Payment Element at the end. You can also display the Link Authentication Element on separate pages, in this same order, for multi-page checkout flows.

Créez un formulaire de paiement à l’aide de plusieurs Elements

Créez un formulaire de paiement à l’aide de plusieurs Elements

L’intégration fonctionne comme suit :

Configurer votre formulaire de paiement
Côté client

Vous pouvez désormais configurer votre formulaire de paiement personnalisé à l’aide des composants Elements d’interface utilisateur préconfigurés. Pour que votre intégration fonctionne, l’adresse de votre page de paiement doit commencer par https:// et non par http://. Vous pouvez tester votre intégration sans utiliser le protocole HTTPS. Activer le protocole HTTPS au moment d’accepter des paiements réels.

Le Link Authentication Element affiche la saisie d’une adresse courriel. Lorsque Link associe l’adresse de courriel du client à un compte Link existant, il envoie au client un code sécurisé à usage unique à son téléphone pour que le client puisse s’authentifier. Si le client s’authentifie, Stripe affichera automatiquement ses adresses et modes de paiement enregistrés sur Link pour qu’il puisse les utiliser.

Cette intégration crée également le Payment Element, qui génère un formulaire dynamique qui permet à votre client de choisir un type de mode de paiement. Le formulaire collecte automatiquement toutes les informations de paiement nécessaires pour le type de mode de paiement choisi par le client. Le Payment Element gère également l’affichage des modes de paiement enregistrés sur Link par les clients authentifiés.

Configurer Stripe Elements

Installez React Stripe.js et le chargeur Stripe.js à partir du registre public npm.

Command Line
npm install --save @stripe/react-stripe-js @stripe/stripe-js

Dans votre page de paiement, enveloppez votre formulaire de paiement avec le composant Elements, en transmettant la clé secrète du client de l’étape précédente. Si vous collectez déjà l’adresse courriel du client dans une autre partie de votre formulaire, remplacez votre saisie existante par le linkAuthenticationElement​.

Si vous ne collectez pas d’adresses courriel, ajoutez linkAuthenticationElement​ à votre flux de paiement. Vous devez placer le linkAuthenticationElement avant le ShippingAddressElement (facultatif si vous collectez des adresses de livraison) et le PaymentElement pour que Link puisse remplir automatiquement les informations enregistrées par Link dans les champs ShippingAddressElement et PaymentElement. Vous pouvez également transmettre l’option d’apparence, qui permet d’adapter les Elements à la conception de votre site.

Si vous disposez de l’adresse courriel du client, transmettez-la à l’option defaultValues du linkAuthenticationElement. Cela permet de remplir automatiquement l’adresse courriel du client et lance le processus d’authentification Link.

Si vous avez d’autres informations sur le client, transmettez-les à l’objet defaultValues.billingDetails de PaymentElement. Remplir automatiquement autant d’informations que possible permet de simplifier la création et la réutilisation des comptes Link pour vos clients.

Affichez ensuite les composants linkAuthenticationElement et PaymentElement dans votre formulaire de paiement :

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { Elements, LinkAuthenticationElement, PaymentElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); // Customize the appearance of Elements using the Appearance API. const appearance = {/* ... */}; // Enable the skeleton loader UI for the optimal loading experience. const loader = 'auto';

Il n’est pas nécessaire d’inclure linkAuthenticationElement, PaymentElement et ShippingAddressElement sur la même page. Si vous disposez d’un processus dans lequel les coordonnées du client, les informations de la livraison et les informations de paiement sont affichées dans des étapes distinctes pour le client, vous pourrez afficher chaque Element dans l’étape ou la page appropriée. Incluez linkAuthenticationElement comme formulaire de saisie de l’adresse courriel dans l’étape de collecte des coordonnées pour vous assurer que le client bénéficie pleinement du remplissage automatique de l’adresse de livraison et du paiement fourni par Link.

Si vous recueillez l’adresse courriel de votre client avec le Link Authentication Element au début du processus de paiement, vous n’aurez pas besoin de l’afficher à nouveau sur les pages d’expédition ou de paiement.

Récupérer une adresse courriel

Vous pouvez récupérer les renseignements de l’adresse courriel à l’aide de la propriété onChange sur le composant linkAuthenticationElement. Le gestionnaire onChange se déclenche chaque fois que l’utilisateur met à jour le champ d’adresse courriel ou lorsqu’une adresse courriel de client enregistrée est remplie automatiquement.

<linkAuthenticationElement onChange={(event) => { setEmail(event.value.email); }} />

Remplir automatiquement l’adresse courriel d’un client

Le Link Authentication Element accepte une adresse courriel. Si vous fournissez l’adresse courriel d’un client, le flux d’authentification Link démarre dès que le client accède à la page de paiement à l’aide de l’option defaultValues.

<linkAuthenticationElement options={{defaultValues: {email: 'foo@bar.com'}}}/>

FacultatifRemplir automatiquement les données supplémentaires du client
Côté client

Si c’est le cas, le remplissage automatique des informations du client simplifie le processus de paiement et réduit la saisie manuelle des données.

Si vous utilisez le Link Authentication Element, ajoutez l’objet defaultValues.billingDetails au Payment Element pour remplir automatiquement le nom et le numéro de téléphone du client ainsi que son adresse de livraison. En remplissant automatiquement autant d’informations que possible sur vos clients, vous simplifiez la création et la réutilisation des comptes Link.

Informations remplies automatiquement dans le formulaire d’adhésion Link.

Remplissez automatiquement l’adresse courriel, le numéro de téléphone et le nom de votre client pour simplifier le processus d’inscription à Link

Vous pouvez fournir les valeurs suivantes à l’objet defaultValues.billingDetails :

ValeurObligatoireFormat
nameFacultatifchaîne
phoneFacultatifchaîne
addressFacultatifObjet JSON avec les champs postal_code et country. Tous les champs sont des chaînes.

Un Payment Element dont les valeurs sont toutes remplies automatiquement est similaire aux exemples suivants :

<PaymentElement options={{ defaultValues: { billingDetails: { name: 'John Doe', phone: '888-888-8888', address: { postal_code: '10001', country: 'US', } }, }, }} />;

FacultatifCollecter les adresses de livraison
Côté client

Pour collecter des adresses, créez un nœud DOM vide dans lequel l’Address Element sera présenté. L’Element Address doit être affiché après le Link Authentication Element pour que Link puisse remplir automatiquement les informations de l’adresse enregistrée d’un client :

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { Elements, LinkAuthenticationElement, AddressElement, PaymentElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); // Customize the appearance of Elements using the Appearance API. const appearance = {/* ... */}; // Enable the skeleton loader UI for the optimal loading experience. const loader = 'auto'; const CheckoutPage = ({clientSecret}) => ( <Elements stripe={stripe} options={{clientSecret, appearance, loader}}> <CheckoutForm /> </Elements> ); export default function CheckoutForm() { return ( <form> <h3>Contact info</h3> <LinkAuthenticationElement /> <h3>Shipping</h3> <AddressElement options={{mode: 'shipping', allowedCountries: ['US']}} /> <h3>Payment</h3> <PaymentElement /> <button type="submit">Submit</button> </form> ); }

Affichez AddressElement avant PaymentElement. Le composant PaymentElement détecte dynamiquement les données d’adresse collectées par le composant AddressElement, en masquant les champs inutiles et en recueillant des informations supplémentaires sur l’adresse de facturation.

Récupérer les informations d’adresse

Le composant AddressElement transmet automatiquement l’adresse de livraison lorsqu’un client effectue le paiement, mais vous pouvez également récupérer les détails de l’adresse sur l’application frontale en utilisant la propriété onChange. Le gestionnaire onChange envoie un événement chaque fois que l’utilisateur met à jour un champ de l’Address Element ou sélectionne une adresse enregistrée :

<AddressElement onChange={(event) => { setAddressState(event.value); }} />

Remplir automatiquement une adresse de livraison

Utilisez defaultValues pour remplir automatiquement les informations d’adresse, ce qui accélère le paiement de vos clients.

<AddressElement options={{ mode: 'shipping', defaultValues: { name: 'Jane Doe', address: { line1: '354 Oyster Point Blvd', line2: '', city: 'South San Francisco', state: 'CA', postal_code: '94080', country: 'US', } } }}>

FacultatifPersonnaliser l’apparence
Côté client

Après avoir ajouté ces Elements à votre page, vous pouvez personnaliser leur apparence pour qu’ils s’intègrent harmonieusement au reste de votre conception :

Personnalisez l’apparence de vos Elements

Personnalisez l’apparence de vos Elements

Envoyer le paiement à Stripe
Côté client

Utilisez stripe.confirmPayment pour finaliser le paiement à l’aide des informations collectées auprès de votre client grâce aux différents formulaires Elements. Ajoutez une return_url à cette fonction pour indiquer où Stripe redirige l’utilisateur une fois le paiement effectué.

Votre utilisateur peut être d’abord redirigé vers un site intermédiaire, comme une page d’autorisation bancaire, avant que Stripe le redirige vers la page return_url.

Par défaut, les paiements bancaires et les paiements par carte redirigent immédiatement le client vers la return_url une fois que le paiement a abouti. Si vous ne souhaitez pas le rediriger vers la return_url, vous pouvez utiliser if_required pour modifier le comportement.

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { useStripe, useElements, Elements, LinkAuthenticationElement, PaymentElement, // If collecting shipping AddressElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const appearance = {/* ... */}; // Enable the skeleton loader UI for the optimal loading experience. const loader = 'auto'; const CheckoutPage =({clientSecret}) => ( <Elements stripe={stripe} options={{clientSecret, appearance, loader}}> <CheckoutForm /> </Elements> ); export default function CheckoutForm() { const stripe = useStripe(); const elements = useElements(); const handleSubmit = async (event) => { event.preventDefault(); const {error} = await stripe.confirmPayment({ elements, confirmParams: { return_url: "https://example.com/order/123/complete", }, }); if (error) { // handle error } }; return ( <form onSubmit={handleSubmit}> <h3>Contact info</h3> <LinkAuthenticationElement /> {/* If collecting shipping */} <h3>Shipping</h3> <AddressElement options={{mode: 'shipping', allowedCountries: ['US']}} /> <h3>Payment</h3> <PaymentElement /> <button type="submit">Submit</button> </form> ); }

Le return_url correspond à une page de votre site Web qui indique l’état du paiement du PaymentIntent lorsque vous affichez la page de retour. Lorsque Stripe redirige le client vers la page return_url, vous pouvez utiliser les paramètres de requête d’URL suivants pour vérifier l’état du paiement. Vous pouvez également ajouter vos propres paramètres de requête lorsque vous fournissez le paramètre return_url. Ces paramètres de requête sont conservés tout au long du processus de redirection.

ParamètreDescription
payment_intentL’identifiant unique du PaymentIntent
payment_intent_client_secretLa clé secrète du client de l’objet PaymentIntent.

FacultatifSéparer l’autorisation et la capture
Côté serveur

Link supports separate authorization and capture. You must capture an authorized Link payment within 7 days of the authorization. Otherwise, the authorization is automatically canceled and you can’t capture that payment.

Indiquer à Stripe d’autoriser uniquement

Pour indiquer que vous souhaitez séparer l’autorisation de la capture, vous devez définir capture_method à manual lors de la création du PaymentIntent. Ce paramètre indique à Stripe d’autoriser uniquement le montant sur le mode de paiement du client.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=link \ -d "payment_method_types[]"=card \ -d amount=1099 \ -d currency=usd \ -d capture_method=manual

Capturer les fonds

Une fois l’autorisation réussie, l’état du PaymentIntent passe à requires_capture. Pour capturer les fonds autorisés, faites une demande de capture du PaymentIntent. Par défaut, le montant capturé est le montant total autorisé. Vous ne pourrez capturer un montant plus élevé, mais vous pourrez capturer un montant inférieur…

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents/
{{PAYMENT_INTENT_ID}}
/capture
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount_to_capture=750

Facultatif Annuler l’autorisation

Si vous devez annuler une autorisation, vous pourrez annuler le PaymentIntent correspondant.

Gérer les événements post-paiement
Côté serveur

Stripe envoie un événement payment_intent.succeeded à l’issue du paiement. Utiliser un webhook pour recevoir ces événements et exécutez des actions, comme envoyer une confirmation de commande par courriel à votre client, enregistrer la vente dans une base de données ou lancer un flux de livraison.

Configurez votre intégration pour écouter ces événements plutôt que d’attendre un rappel de votre client. Lorsque vous attendez un rappel de votre client, ce dernier peut fermer la fenêtre de son navigateur ou quitter l’application avant même l’exécution du rappel. En configurant votre intégration de manière à ce qu’elle écoute les événements asynchrones, vous pourrez accepter plusieurs types de modes de paiement avec une seule intégration.

En plus de gérer l’événement payment_intent.succeeded, vous pouvez également gérer deux autres événements lorsque vous encaissez des paiements à l’aide du Payment Element :

ÉvénementDescriptionAction
payment_intent.succeededEnvoyé par Stripe lorsqu’un client a effectué un paiement.Envoyez au client une confirmation de commande et traitez sa commande.
payment_intent.payment_failedEnvoyé par Stripe lorsqu’un client a fait une tentative de paiement qui s’est soldée par un échec.Si un paiement passe de l’état processing à payment_failed, proposez au client d’effectuer une autre tentative de paiement.

Testez l’intégration

Avertissement

Don’t store real user data in sandbox Link accounts. Treat them as if they’re publicly available, because these test accounts are associated with your publishable key.

Currently, Link only works with credit cards, debit cards, and qualified US bank account purchases. Link requires domain registration.

You can create sandbox accounts for Link using any valid email address. The following table shows the fixed one-time passcode values that Stripe accepts for authenticating sandbox accounts:

ValeurRésultat
Tout autre ensemble de 6 chiffres non listé ci-dessousOpération réussie
000001Erreur, code non valide
000002Erreur, code expiré
000003Erreur, nombre maximal de tentatives dépassé

Pour tester des modes de paiement spécifiques, consultez les exemples de tests du Payment Element.

Sources de financement multiples

Au fur et à mesure que Stripe ajoute des sources de financement supplémentaires, vous n’avez pas besoin de mettre à jour votre intégration. Stripe les prend en charge automatiquement avec le même délai de règlement des transactions et les mêmes garanties que les paiements par carte et par compte bancaire.

Authentification des cartes et 3D Secure

Link supports 3D Secure 2 (3DS2) authentication for card payments. 3DS2 requires customers to complete an additional verification step with the card issuer when paying. Payments that have been successfully authenticated using 3D Secure are covered by a liability shift.

To trigger 3DS2 authentication challenge flows with Link in a sandbox, use the following test card with any CVC, postal code, and future expiration date: .

Dans un bac à sable, une page d’authentification factice s’affiche pour le processus d’authentification. Sur cette page, vous pouvez autoriser ou annuler le paiement. L’autorisation du paiement simule une authentification réussie et vous redirige vers l’URL de retour spécifiée. Un clic sur le bouton Échec simule une tentative d’authentification infructueuse.

Pour obtenir plus d’informations, consultez la page sur l’authentification 3D Secure.

Remarque

When testing 3DS flows, only test cards for 3DS2 will trigger authentication on Link.

FacultatifAfficher les données enregistrées par le client
Côté serveurCôté client

Comparer les références Customers v1 et Accounts v2

Si votre plateforme Connect utilise des comptes configurés par le client, utilisez notre guide pour remplacer le Client et des références d’événements dans votre code avec les références équivalentes de l’API Accounts v2.

In addition to displaying your own saved addresses and payment methods for a customer, you can display their Link-saved data.

If a customer has more than one saved payment method, Stripe displays the three most recently used cards saved to the Customer object in addition to any payment methods the customer has saved with Link.

Aperçu des données enregistrées du client

Pour ce faire, créez une clé éphémère et envoyez-la à votre application frontale avec l’ID de l’objet Customer. L’objet customer contient des informations sensibles : vous ne pouvez pas le récupérer directement dans Stripe.js. Une clé éphémère permet d’accorder un accès temporaire aux données customer.

Command Line
curl
Ruby
Python
PHP
Node.js
No results
curl https://api.stripe.com/v1/ephemeral_keys \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -H "Stripe-Version: 2026-02-25.clover" \ -d "customer"="{{CUSTOMER_ID}}" \ curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd" \ -d "customer"="{{CUSTOMER_ID}}" \ -d "payment_method_types[]"="link" \ -d "payment_method_types[]"="card"

Récupérez customerOptions avec clientSecret du côté client.

(async () => { const response = await fetch('/secret'); const {clientSecret, customerOptions} = await response.json(); })

Transmettez ensuite les valeurs customerOptions.ephemeralKey et customerOptions.customer de l’option customerOptions dans le groupe Elements. Vous devez également transmettre l’indicateur bêta elements_customers_beta_1 lors du chargement de l’instance Stripe.

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { useStripe, useElements, Elements, LinkAuthenticationElement, PaymentElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, { apiVersion: '2026-02-25.clover', betas: ['elements_customers_beta_1'], }); const appearance = {/* ... */}; const loader = 'auto'; const CheckoutPage =({ clientSecret, customerOptions, }) => ( <Elements stripe={stripe} options={{ clientSecret, appearance, loader, customerOptions, }}> <CheckoutForm /> </Elements> );

FacultatifEnregistrez les modes de paiement Link
Côté serveurCôté client

Vous pouvez enregistrer les modes de paiement Link pour les futurs paiements hors session ou abonnements, mais non pour les futurs paiements pendant une session. Pour ce faire, vous devez les associer à un client. Créez un objet customer lorsque votre client crée un compte auprès de votre entreprise. Précisez ensuite l’objet customer lors de la création de votre PaymentIntent.

Lorsqu’un nouveau client effectue sa première transaction avec votre entreprise, créez un objet customer dans Stripe afin d’y enregistrer ses données pour une utilisation ultérieure.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ -d customer=
"{{CUSTOMER_ID}}"
\ -d setup_future_usage=off_session

Dans la dernière version de l’API, la définition du paramètre automatic_payment_methods est facultative, car Stripe active sa fonctionnalité par défaut.

Au moment de débiter à nouveau votre client, utilisez le customer et l’ID du PaymentMethod généré pour créer un nouveau PaymentIntent. Définissez off_session à true. Si une authentification est requise alors que votre client n’utilise pas activement votre site ou votre application, le PaymentIntent enverra une erreur.

Command Line
curl
Interface de ligne de commande Stripe
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d amount=1099 \ -d currency=usd \ # In the latest version of the API, specifying the `automatic_payment_methods` parameter is optional because Stripe enables its functionality by default. -d "automatic_payment_methods[enabled]"=true \ -d customer="{{CUSTOMER_ID}}" \ -d payment_method="{{PAYMENT_METHOD_ID}}" \ -d return_url="https://example.com/order/123/complete" \ -d off_session=true \ -d confirm=true

Présenter les informations de Stripe à vos clients

Stripe recueille des informations sur les interactions des clients avec Elements pour vous fournir des services, prévenir la fraude et améliorer ses services. Cela inclut l’utilisation de témoins et d’adresses IP pour identifier les Elements qu’un client a vus au cours d’une seule session de paiement. Vous êtes responsable de la divulgation et de l’obtention de tous les droits et consentements nécessaires pour permettre à Stripe d’utiliser les données de cette manière. Pour en savoir plus, rendez-vous sur notre centre de confidentialité.

Voir aussi

  • What’s Link
  • Link with Elements
  • Link in the Payment Element
  • Explore the Link Authentication Element
  • Link in different payment integrations
Cette page vous a-t-elle été utile?
OuiNon
  • Besoin d'aide? Contactez le service d'assistance.
  • Clavardez avec les développeurs de Stripe sur Discord.
  • Consultez notre journal des modifications.
  • Des questions? Contactez l'équipe commerciale.
  • GML? Lire llms.txt.
  • Optimisé par Markdoc
Sur cette page