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 Element Express Checkout vous offre une intégration unique pour accepter des paiements à l’aide de différents boutons de paiement en un clic, dont Link, PayPal, Apple Pay, Google Pay et Amazon Pay.
En fonction des moyens de paiement pris en charge par leur appareil et leur navigateur, les clients voient des boutons différents. Les appareils compatibles prennent automatiquement en charge Google Pay et Link. La prise en charge d’Apple Pay et de PayPal nécessite des étapes supplémentaires.
Bêta
Klarna on the Express Checkout Element is launching a limited beta in mid October. Reach out here to gain access.
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 et vérifiez votre domaine en mode test et en mode production.
- Créez un compte d’environnement de test PayPal pour tester votre intégration.
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
paymentMethodTypes
de 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_ |
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
Gérez l’événement de clic pour transmettre les options à l’Express Checkout Element. Après avoir reçu l’événement de clic, désactivez l’interaction sur votre page de paiement.
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.
Note
Pour Amazon Pay 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 *
.
Mentionner le fonctionnement de 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é.