FAQ sur Payment Element

Payment Element est un composant d'interface utilisateur sécurisé et intégrable qui vous permet d'accepter des moyens de paiement locaux du monde entier.

Pour permettre aux utilisateurs recevant des paiements ponctuels et récurrents d'accepter plusieurs moyens de paiement, Payment Element prend en charge trois chemins d'intégration principaux :

FAQ

Quelles sont les fonctionnalités essentielles de Payment Element ?

Avec Payment Element, Stripe lance une nouvelle génération d'Elements (voir : https://stripe.com/payments/elements). Auparavant, les marchands devaient créer une intégration et la maintenir pour chaque moyen de paiement distinct. En vous libérant de cette contrainte, Payment Element vous permet de réaliser des économies conséquentes en matière de temps et de ressources.

Voici quelques-unes des caractéristiques essentielles de Payment Element :

- Prise en charge de nombreux moyens de paiement via une intégration Elements unique
- Présentation à chaque acteur des options de paiement pertinentes au moyen d'une logique de tri reposant sur le pays du client (déterminé par l'adresse IP) et dans sa langue préférée (déterminée d'après la langue du navigateur)
- Disponibilité dans 42 langues : https://stripe.com/docs/js/appendix/supported_locales
- Adaptation possible à la marque du marchand (police, couleurs, espacement, etc.)
- Conception réactive aux appareils mobiles
- Intégration de contrôles de validation de la saisie
- Conformité à la norme PCI-DSS
- Compatibilité avec les PaymentIntents/SetupIntents

Quelle est la relation entre Payment Element et Stripe Elements et qu'est-ce qui les différencie ?

Stripe Elements est un ensemble de composants d'interface utilisateur préconfigurés, comme des zones de saisie et des boutons, servant à créer votre tunnel de paiement. Il existe un composant Element associé pour chaque moyen de paiement (cartes bancaires, cartes de débit, etc.). Le nouveau composant Payment Element regroupe tous les composants Element de paiement en un seul.

Voici ce qui différencie Stripe Elements de Payment Element :

Par le passé, un marchand qui recourait à Stripe Elements devait créer et entretenir un mappage de devise/pays/moyen de paiement, de même qu'une logique associée qui déterminait quand appeler les API Stripe au niveau du back-end et quand afficher/masquer les composants Element dans l'interface utilisateur. Il devait intégrer chaque composant Element individuellement.

Grâce à Payment Element, le marchand n'est plus contraint de créer et d'entretenir ces différents éléments. L'expérience d'intégration prend la forme d'une intégration d'un composant Element unique. Les mappages, la logique, la présentation et le comportement sont préconfigurés par Stripe. La contrepartie : des capacités de personnalisation au sein de la couche d'interface utilisateur légèrement inférieures par rapport à celles de Stripe Elements, mais un contrôle accru par rapport à Stripe Checkout.

Plus précisément, les plus grandes différences sont les suivantes :

- Payment Element requiert pratiquement le même effort que l'intégration d'un autre composant Element (ex. : Card Element), avec toutefois un effort de maintenance moindre, car vous pouvez ajouter des moyens de paiement sans intégrer un nouveau composant Element pour chacun d'entre eux.
- À l'heure actuelle, la capacité de personnalisation du style est plus limitée par rapport à Elements. Seules les API de style JavaScript (et non CSS) sont prises en charge. En revanche, la majeure partie des fonctionnalités de style restent prises en charge.
- La confirmation côté serveur n'étant pas prise en charge, les cartes bancaires doivent utiliser des webhooks (ce qui n'est pas le cas d'Elements aujourd'hui). Cependant, nous allons fournir un moyen de contournement au niveau des cartes.
- Une redirection vers une page de confirmation de commande est requise pour la plupart des moyens de paiement acceptés via Payment Element. Pour cette raison, les applications Web sur une page nécessitent une page distincte de confirmation de commande. L'expérience de paiement reste toutefois pleinement intégrée au site du marchand (à la différence de Stripe Checkout).

Quelle est la relation entre Payment Element et Checkout ?

Payment Element est un nouveau composant d'interface utilisateur qui peut être intégré au site Web d'un marchand, avec un style et une personnalisation spécifiques à l'expérience du marchand. Il vous permet d'accepter de nombreux moyens de paiement (plus de 18 et davantage à venir) avec nettement moins d'efforts grâce à la collecte automatique des informations requises auprès des clients (hormis l'adresse de livraison). Payment Element repose sur les API de paiement Stripe (PaymentIntents/SetupIntents) et s'appuie sur notre SDK, Stripe.js. Ce produit a été conçu pour les marchands qui souhaitent avoir un contrôle sur l'expérience de paiement. Plus particulièrement, si vous souhaitez intégrer pleinement les paiements à votre application Web (ex. : avec la nécessité de mettre en œuvre des flux à plusieurs étapes, d'adapter à la marque, de contrôler davantage et d'afficher des conditions spéciales lors du paiement), Payment Element est le produit qu'il vous faut. Grâce à Payment Element, vous pouvez collecter les informations requises lors du paiement et concevoir l'expérience désirée.

D'autre part, Stripe Checkout est notre page de paiement intégralement hébergée vers laquelle votre site peut rediriger en vue d'accepter facilement les moyens de paiement locaux (plus de 25). Les options de style (couleur/logo) sont toutefois limitées. Stripe Checkout repose sur des sessions Checkout sans recourir à des PaymentIntents/SetupIntents. Il est destiné aux cas d'usage plus simples, c.-à-d. à un flux d'une seule étape présentant un besoin moindre de contrôle/de personnalisation/d'adaptation à votre marque. À la différence de Payment Element, Stripe Checkout collecte davantage d'informations, y compris l'adresse de livraison, et affiche une liste de produits/le total de la commande, ainsi qu'un bouton Envoyer.

Quel est l'effort requis pour mettre en œuvre Payment Element ?

Payment Element requiert pratiquement le même effort que l'intégration d'un composant Element (ex. : Card Element), avec toutefois un effort de maintenance moindre. Si vous souhaitez accepter plusieurs moyens de paiement, vous n'avez pas besoin d'intégrer un composant Element pour chacune des options.

Combien coûte Payment Element ?

Payment Element est fourni aux utilisateurs sans coût supplémentaire. Les seuls coûts associés sont ceux de chaque moyen de paiement accepté (voir https://stripe.com/pricing/local-payment-methods).

Quelles sont les API prises en charge par Payment Element ?

Les PaymentIntents et les SetupIntents prennent en charge Payment Element. Les autres API héritées, telles que Charges et Sources, ne sont toutefois pas prises en charge.

Dois-je faire appel à des webhooks ?

Oui, vous devez recourir à des webhooks avec Payment Element, car la confirmation côté serveur n'est pas prise en charge.

Cependant, nous pouvons fournir un moyen de contournement pour les moyens de paiement qui ne nécessitent aucune redirection, tels que les cartes bancaires. Vous trouverez le code correspondant sur cette page : https://stripe.com/docs/js/payment_intents/confirm_payment#confirm_payment_intent-options-redirect.

Comment utiliser Payment Element de façon à accepter tous les moyens de paiement pris en charge par Stripe ?

Afin d'utiliser Payment Element de manière à accepter tous les moyens de paiement pris en charge par Stripe, vous pouvez transmettre un tableau de moyens de paiement à payment_method_types lors de la création d'un PaymentIntent. Vous ne pouvez toutefois pas transmettre simultanément tous les moyens de paiement pris en charge, car certains requièrent différentes devises. Vous pouvez créer un PaymentIntent uniquement avec des moyens de paiement qui prennent en charge la même devise. Veuillez vous reporter au tableau des moyens de paiement et des produits pris en charge ici : https://stripe.com/docs/payments/payment-methods/integration-options

Qu'est-ce que le composant Mobile Payment Element ? En quoi diffère-t-il de Payment Element ?

Le composant Mobile Payment Element, qui correspond à la classe Payment Sheet au niveau du code, est un composant d'interface utilisateur préconfiguré et sécurisé qui affiche plusieurs moyens de paiement du monde entier (cartes bancaires, portefeuilles, prélèvements bancaires, virements avec redirection bancaire, achat avec paiement différé, etc.). Il s'apparente à Payment Element sur le Web, mais se destine à une utilisation au sein des applications mobiles. Intégrée au SDK Mobile de Stripe, l'interface de paiement se présente sous la forme d'une feuille en bas de l'écran (similaire à Apple/Google Pay). Grâce à ce produit, les marchands sur Stripe peuvent accroître leur taux de conversion et réduire les coûts liés aux paiements, tout en contribuant aux objectifs de Stripe en matière d'adoption des moyens de paiement sans carte bancaire. Pour en savoir plus, consultez la page : https://stripe.com/docs/payments/accept-a-payment?platform=ios.