Accepter un paiement avec Express Checkout Element
Utilisez une seule intégration pour accepter les paiements par le biais de boutons de paiement en un clic.

Le composant Express Checkout Element est une intégration permettant d’accepter des paiements par le biais de boutons de moyens de paiement en un clic. Les moyens de paiement pris en charge sont les suivants : Link, Apple Pay, Google Pay, PayPal, Klarna, et Amazon Pay.
Les clients voient différents boutons de paiement en fonction de leur appareil et de leur navigateur. Les appareils compatibles prennent automatiquement en charge Google Pay et Link. Vous devez effectuer des étapes supplémentaires pour prendre en charge Apple Pay et PayPal.
Essayer la démonstration
Basculez les options préconfigurées dans la démo pour modifier la couleur d’arrière-plan, la mise en page, la taille et la collecte des adresses de livraison. La démo affiche Google Pay et Apple Pay uniquement sur les plateformes où ils sont disponibles. Les boutons de moyens de paiement ne s’affichent que dans les pays où ils sont pris en charge.
Si vous ne voyez pas la démo, essayez de visualiser cette page dans un navigateur pris en charge.
| Option | Description |
|---|---|
| Pays du marchand | Définissez cette option avec la clé publiable que vous utilisez pour initialiser Stripe.js. Pour modifier le pays, vous devez démonter l’Express Checkout Element, mettre à jour la clé publiable, puis remonter l’Express Checkout Element. |
| Couleur d’arrière-plan | Définissez les couleurs à l’aide de l’API Elements Appearance. Les thèmes des boutons sont hérités de l’API Appearance, mais vous pouvez aussi les définir directement lors de la création de l’Element. |
| Taille ordinateur de bureau et mobile | Utilisez la liste déroulante pour définir la largeur maximale en pixels de l’élément parent sur lequel l’Express Checkout Element est monté. Vous pouvez la définir sur 750 px (ordinateur de bureau) ou 320 px (mobile). |
| Max. de colonnes et max. de lignes | Définissez ces valeurs à l’aide du paramètre layout lorsque vous créez le composant Express Checkout Element. |
| Menu de débordement | Définissez cette option à l’aide du paramètre layout lorsque vous créez l’Express Checkout Element. |
| Collecter une adresse de livraison | Pour collecter les informations de livraison, vous devez transmettre les options lors de la création de l’Express Checkout Element. En savoir plus sur la collecte des informations des clients et l’affichage des postes de facture. |
Nous vous recommandons de collecter les informations de paiement avant de créer un Intent lorsque vous utilisez le composant Express Checkout Element. Si vous avez déjà effectué une intégration avec le composant Payment Element, vous devrez peut-être mettre à jour votre intégration.
Avant de commencer
- Ajoutez un moyen de paiement à votre navigateur. Par exemple, vous pouvez ajouter une carte à votre compte Google Pay ou à Cartes pour Safari.
- Fournir votre application via HTTPS. Cette exigence s’applique à la fois en développement et en production. Vous pouvez également utiliser un service comme ngrok.
- Enregistrez votre domaine en modes environnement de test et production.
Configurer StripeCôté serveur
Tout d’abord, créez un compte Stripe ou connectez-vous.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Activer des moyens de paiement
Par défaut, Stripe utilise vos paramètres des moyens de paiement pour déterminer quels moyens de paiement sont activés dans le composant Express Checkout Element.
Pour modifier manuellement les moyens de paiement activés, dressez la liste de ceux que vous souhaitez activer à l’aide de l’attribut payment_.
- Si vous collectez des paiements avant de créer un intent, répertoriez les moyens de paiement dans l’attribut
paymentMethodTypesde vos options Elements provider. - Si vous créez un intent avant d’afficher des composants Elements, répertoriez les moyens de paiement dans l’attribut
payment_de votre intent.method_ types
Moyens de paiement pris en charge
Apple Pay et Google Pay sont automatiquement activés lorsque vous utilisez le type de moyen de paiement card. Lors de l’utilisation de Link, vous devez également transmettre le type de moyen de paiement card.
| Nom du moyen de paiement | Paramètres de l’API Payment Method |
|---|---|
| Apple Pay | card |
| Google Pay | card |
| Lien | link, card |
| PayPal | paypal |
| Amazon Pay | amazon_ |
| Klarna | klarna |
FacultatifOptions d'éléments supplémentairesCôté client
L’objet Elements accepte des options supplémentaires qui ont une incidence sur l’encaissement des paiements. En fonction des options proposées, l’Express Checkout Element affiche les moyens de paiement disponibles parmi ceux que vous avez activés. En savoir plus sur la prise en charge des moyens de paiement.
| Propriété | Type | Description | Obligatoire |
|---|---|---|---|
mode |
| Indique si l’Express Checkout Element est utilisé avec un PaymentIntent, un SetupIntent ou un abonnement. | Oui |
currency | string | La devise du montant à facturer au client. | Oui |
amount | number | Le montant à débiter au client, indiqué dans les interfaces utilisateur Apple Pay, Google Pay ou BNPL. | Pour les modes payment et subscription |
setupFutureUsage |
| Indique que vous avez l’intention d’effectuer des paiements ultérieurs avec les informations de paiement collectées par l’Express Checkout Element. Non pris en charge pour Klarna utilisant l’Express Checkout Element. | Non |
captureMethod |
| Détermine à quel moment capturer les fonds sur le compte du client. | Non |
onBehalfOf | string | Connect uniquement. L’ID de compte Stripe qui correspond à l’entreprise de référence. Consultez les cas d’usage pour déterminer si cette option est pertinente pour votre intégration. | Non |
paymentMethodTypes | string[] | Liste des types de moyens de paiement à afficher. Vous pouvez omettre cet attribut pour gérer vos moyens de paiement dans le Dashboard Stripe. | Non |
paymentMethodConfiguration | string | La configuration des moyens de paiement à utiliser lors de la gestion de vos moyens de paiement dans le Dashboard Stripe. Si aucune configuration n’est spécifiée, votre configuration par défaut sera utilisée. | Non |
paymentMethodCreation | manual | Autorise la création d’objets PaymentMethod à partir de l’instance Elements à l’aide de stripe.createPaymentMethod. | Non |
paymentMethodOptions | {us_ | Options de vérification pour le moyen de paiement us_. Accepte les mêmes méthodes de vérification que les Payment Intents. | Non |
paymentMethodOptions | {card: {installments: {enabled: boolean}}} | Permet d’activer manuellement l’interface utilisateur de sélection du calendrier de versements échelonnés par carte, le cas échéant, lorsque vous ne gérez pas vos moyens de paiement dans le Dashboard Stripe. Vous devez définir mode='payment' et spécifier explicitement des paymentMethodTypes. Dans le cas contraire, une erreur est générée. Non compatible avec paymentMethodCreation='manual'. | Non |
Créer et intégrer l'Express Checkout ElementCôté client
L’Express Checkout Element contient une balise iframe qui envoie les informations de paiement à Stripe de manière sécurisée via une connexion HTTPS. Pour que votre intégration fonctionne, l’adresse de la page de paiement doit également commencer par https:// et non http://.
Collecter les informations des clients et afficher des postes de factureCôté client
Transmettez les options lors de la création de l’Express Checkout Element.
FacultatifÉcouter l'événement readyCôté client
Une fois ajouté, le composant Express Checkout Element n’affichera pas les boutons pendant une brève période. Pour animer l’Element lorsque les boutons apparaissent, écoutez l’événement ready. Examinez la valeur availablePaymentMethods pour déterminer quels boutons s’affichent dans l’Express Checkout Element, le cas échéant.
FacultatifContrôle de l'affichage des boutons de paiementCôté client
Vous pouvez gérer les moyens de paiement qui apparaissent dans le composant Express Checkout Element de plusieurs manières :
- Dans les paramètres des moyens de paiement du Dashboard Stripe.
- En utilisant la propriété paymentMethods pour désactiver les boutons de paiement. L’utilisation de cette propriété vous permet de mieux contrôler ce que voient vos clients.
Le composant Express Checkout Element affiche Apple Pay ou Google Pay lorsque le client se trouve sur une plateforme prise en charge et qu’il dispose d’une carte active. Si vous souhaitez toujours afficher Apple Pay et Google Pay même lorsque le client n’a pas de carte active, vous pouvez également configurer cette fonction avec paymentMethods.
FacultatifStyliser le boutonCôté client
Vous pouvez styliser chaque bouton de moyen de paiement différemment. Pour des exemples de thèmes et de types de boutons, consultez les ressources de Google et d’Apple. Vous pouvez également utiliser la variable borderRadius dans l’API Appearance :
FacultatifCréer un ConfirmationTokenCôté client
Lorsque le client autorise un paiement, vous pouvez créer un ConfirmationToken à envoyer à votre serveur afin de lancer un processus de validation supplémentaire ou de logique métier avant confirmation. Vous devez immédiatement utiliser le ConfirmationToken créé pour confirmer un PaymentIntent ou un SetupIntent.
Créer un PaymentIntentCôté serveur
Pour représenter votre intention d’encaisser le paiement d’un client, Stripe utilise un objet PaymentIntent, qui suit les tentatives de débit et les changements d’état du paiement tout au long du processus.
Créez un PaymentIntent sur votre serveur avec un montant et une devise. Ces informations doivent correspondre à celles définies sur l’instance stripe. à l’étape 3. Décidez toujours du montant à débiter côté serveur, un environnement sécurisé, plutôt que côté client. Cela empêchera les clients malintentionnés de fixer leurs propres tarifs.
Le PaymentIntent renvoyé inclut une clé secrète à utiliser côté client pour mener à bien le processus de paiement en toute sécurité, plutôt que de transmettre l’objet PaymentIntent dans son intégralité. Vous pouvez utiliser différentes approches pour transmettre cette clé secrète côté client.
Envoyer le paiement à StripeCôté client
Utilisez stripe.confirmPayment pour finaliser le paiement à l’aide des informations de l’Express Checkout Element.
Remarque
Pour Amazon Pay, Klarna et PayPal, le montant que vous confirmez dans le PaymentIntent doit correspondre au montant que l’acheteur a préautorisé. Si les montants ne correspondent pas, le paiement est refusé.
Fournissez une return_url à cette fonction pour indiquer où Stripe doit rediriger l’utilisateur une fois le paiement effectué. Votre utilisateur peut être redirigé vers un site intermédiaire avant d’être redirigé vers la return_. Payments redirige immédiatement l’utilisateur vers la return_ lorsqu’un paiement aboutit.
Si vous ne souhaitez pas effectuer de redirection une fois le paiement effectué, vous pouvez définir la redirection sur if_. De cette manière, seuls les clients qui choisissent un moyen de paiement avec redirection seront redirigés.
Tester l'intégration
Avant de passer en mode production, testez l’intégration de chaque moyen de paiement. Pour déterminer la compatibilité d’un moyen de paiement avec un navigateur, consultez les navigateurs pris en charge. Si vous utilisez Express Checkout Element dans un iframe, l’attribut allow de cet iframe doit être défini sur payment *.
FacultatifUtilisez l'Express Checkout Element avec Stripe Connect
Les plateformes Connect qui créent des paiements directs ou ajoutent le token à un objet Customer sur le compte connecté doivent effectuer des actions supplémentaires.
Sur votre front-end, avant de créer le composant
ExpressCheckoutElement, définissez l’optionstripeAccountsur l’instance Stripe :const stripe = Stripe(, { apiVersion: "2025-11-17.clover", stripeAccount:'pk_test_TYooMQauvdEDq54NiTphI7jx', });'{{CONNECTED_ACCOUNT_ID}}'Enregistrez tous les domaines sur lesquels vous prévoyez d’afficher le composant Express Checkout Element.
Divulguer Stripe à vos clients
Stripe recueille des informations sur les interactions des clients avec Elements afin de vous fournir des services, de prévenir la fraude et d’améliorer ses services. Cela inclut l’utilisation de cookies et d’adresses IP pour identifier les Elements qu’un client a vus au cours d’une même session Checkout. Vous êtes responsable de la divulgation et de l’obtention de tous les droits et consentements nécessaires pour que Stripe puisse utiliser les données à cette fin. Pour en savoir plus, visitez notre Centre de confidentialité.