Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Ask AI
Créez un compte
Connectez-vous
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Automatisation des opérations financières
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Aperçu
Gestion des versions
Journal des modifications
Mettre à niveau votre version de l'API
Actualiser votre version du SDK
Outils de développement
SDK
    Présentation
    SDK côté serveur
    SDK mobiles
    SDK iOS
    SDK Android
    SDK React Native
    SDK Web
    Module ES Stripe.js
    React Stripe.js
    SDK pour Terminal
    SDK iOS
    SDK Android
    SDK React Native
    Communauté
    SDK de la communauté
    Migrations mobiles
    Migrer vers le SDK iOS 24
    Migrer vers le SDK Android 21
API
Tests
Workbench
Destinations d'événements
Workflows
CLI Stripe
Shell Stripe
Dashboard des développeurs
Boîte à outils des agents
Stripe health alertsDéveloppez avec des grands modèles de langage (LLM)Stripe pour Visual Studio CodeChargements de fichiers
Sécurité
Sécurité
Extensions Stripe
Stripe Apps
Connecteurs Stripe
Partenaires
Partner ecosystem
Certification des partenaires
AccueilOutils de développementSDKs

Documentation React Stripe.js

Comprendre les composants React pour Stripe.js et Stripe Elements.

Copier la page

Voir le code

Vous souhaitez découvrir comment fonctionne React Stripe.js ou contribuer à son développement ? Consultez notre projet sur GitHub.

React Stripe.js est un wrapper léger pour Stripe Elements qui vous permet d’ajouter Elements à n’importe quelle application React.

La documentation de Stripe.js fournit toutes les informations utiles pour la personnalisation d’Elements.

Vous pouvez utiliser Elements avec n’importe quel produit Stripe pour encaisser des paiements en ligne. Pour trouver le meilleur chemin d’intégration dans votre cas de figure, consultez notre documentation.

Remarque

Cette documentation couvre l’intégralité de l’API React Stripe.js. Si vous préférez apprendre sur le tas, reportez-vous à notre documentation sur l’acceptation d’un paiement ou penchez-vous sur un exemple d’intégration.

Avant de commencer

Nous partons du principe que vous disposez de connaissances de base suffisantes sur le fonctionnement de React et que vous avez déjà configuré un projet React. Si tel n’est pas le cas, nous vous recommandons de lire notre guide de démarrage avant de poursuivre.

Configuration

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

Checkout Provider

Le fournisseur CheckoutProvider vous permet d’utiliser les composants Element et d’accéder à l’objet Stripe dans n’importe quel composant imbriqué. Générez un rendu d’un CheckoutProvider à la racine de votre application React afin qu’il soit disponible partout où vous en avez besoin.

Pour utiliser le CheckoutProvider, appelez loadStripe depuis @stripe/stripe-js avec votre clé publique. La fonction loadStripecharge le script Stripe.js et initialise un objet Stripe de manière asynchrone. Transmettez la Promise renvoyée au fournisseur CheckoutProvider.

See Create a Checkout Session for an example of what your endpoint might look like.

index.js
import {CheckoutProvider} from '@stripe/react-stripe-js'; import {loadStripe} from '@stripe/stripe-js'; // Make sure to call `loadStripe` outside of a component’s render to avoid // recreating the `Stripe` object on every render. const stripePromise = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const fetchClientSecret = () => { return fetch('/create-checkout-session', {method: 'POST'}) .then((response) => response.json()) .then((json) => json.checkoutSessionClientSecret) }; export default function App() { return ( <CheckoutProvider stripe={stripePromise} options={{fetchClientSecret}}> <CheckoutForm /> </CheckoutProvider> ); }
propriétédescription

stripe

required Stripe | null | Promise<Stripe | null>

Un objet Stripe ou une Promise qui se résout en un objet Stripe. Nous vous recommandons d’utiliser le module wrapper Stripe.js pour initialiser un objet Stripe. Après avoir défini cet accessoire, vous ne pourrez plus le modifier.

Vous pouvez aussi transmettre null ou une Promise se résolvant en null si vous effectuez un rendu initial côté serveur ou si vous générez un site statique.

options

required Object

CheckoutProvider configuration options. See available options. You must provide the fetchClientSecret function that returns the client secret of the created Checkout Session. See Create a Checkout Session for an example.

Composants Element

Les composants Element vous permettent de collecter en toute sécurité des informations de paiement dans votre application React et de placer ces composants à l’emplacement de votre choix de votre page de paiement. Vous pouvez également personnaliser l’apparence.

Vous pouvez monter des composants Element individuels dans votre arbre CheckoutProvider. Veuillez noter que vous ne pouvez monter qu’un seul composant Element de chaque type dans un même groupe <CheckoutProvider>.

CheckoutForm.js
import {PaymentElement} from '@stripe/react-stripe-js'; const CheckoutForm = () => { return ( <form> <PaymentElement /> <button>Submit</button> </form> ); }; export default CheckoutForm;
propriétédescription

options

Facultatif Object

Objet contenant des options de configuration de composant Element. Consultez les options disponibles pour le composant Payment Element.

onBlur

Facultatif () => void

Déclenché lorsque le composant Element n’est plus actif.

onChange

Facultatif (event: Object) => void

Déclenché lorsque les données exposées par cet Element sont modifiées.

Pour en savoir plus, consultez la documentation de Stripe.js.

onEscape

Facultatif (event: Object) => void

Déclenché lorsque la touche Echap est enfoncée dans un Element.

Pour en savoir plus, consultez la documentation Stripe.js.

onFocus

Facultatif () => void

Déclenché lorsque le composant Element reçoit le focus.

onLoaderror

Facultatif (event: Object) => void

Déclenché lorsque le chargement de l’Element échoue.

Pour en savoir plus, consultez la documentation Stripe.js.

onLoaderStart

Facultatif (event: Object) => void

Déclenché lorsque l’interface utilisateur du chargeur est montée dans le DOM et prête à être affichée.

Ces événements vous sont envoyés uniquement par les composants Elements payment et address.

Pour en savoir plus, consultez la documentation Stripe.js.

onReady

Facultatif (element: Element) => void

Déclenché lorsque le composant Element est intégralement rendu et peut accepter des appels element.focus() impératifs. Appelé avec une référence à l’instance Element sous-jacente.

Composants Element disponibles

Vous pouvez utiliser différents types d’Elements pour collecter des informations sur votre page de paiement. Voici les composants Elements disponibles :

ComposantUtilisation
AddressElementRecueille les coordonnées dans plus de 236 formats régionaux. Pour en savoir plus, consultez la documentation relative au composant Address Element.
ExpressCheckoutElementVous permet d’accepter des paiements par carte ou par wallet via un ou plusieurs boutons de paiement, notamment Apple Pay, Google Pay, Link ou PayPal. Pour en savoir plus, consultez la documentation relative au composant Express Checkout Element.
PaymentElementCollecte les informations de paiement liées à plus de 25 moyens de paiement du monde entier. Pour en savoir plus, consultez la documentation relative au composant Payment Element.

hook useCheckout

useCheckout(): CheckoutContextValue | null

Utilisez le hook useCheckout dans vos composants pour obtenir l’objet Checkout, qui contient les données de la session Checkout ainsi que des méthodes permettant de mettre à jour et de confirmer cette session.

CheckoutForm.js
import {useCheckout, PaymentElement} from '@stripe/react-stripe-js'; const CheckoutForm = () => { const checkout = useCheckout(); const handleSubmit = async (event) => { // We don't want to let default form submission happen here, // which would refresh the page. event.preventDefault(); const result = await checkout.confirm(); if (result.type === 'error') { // Show error to your customer (for example, payment details incomplete) console.log(result.error.message); } else { // Your customer will be redirected to your `return_url`. For some payment // methods like iDEAL, your customer will be redirected to an intermediate // site first to authorize the payment, then redirected to the `return_url`. } }; return ( <form onSubmit={handleSubmit}> <PaymentElement /> <button>Submit</button> </form> ) }; export default CheckoutForm;

Personnalisation et stylisation

Pourquoi utilisons-nous des iframes ?

Nous sommes conscients que l’utilisation d’iframes complique la stylisation des composants Element. Ils vous permettent néanmoins de vous décharger de la responsabilité du traitement sécurisé des données de paiement et simplifient la conformité de votre site à la réglementation sectorielle.

Chaque Element est monté dans un iframe, raison pour laquelle les Elements ne fonctionnent généralement pas avec vos frameworks de stylisation et de composants existants. Cela dit, vous pouvez toujours configurer vos Elements pour qu’ils s’intègrent au design de votre site. La personnalisation d’Elements consiste à répondre aux événements et à configurer Elements avec l’option d’apparence. La disposition de chaque Element reste la même, mais vous pouvez modifier les couleurs, les polices, les bordures, les marges intérieures, etc.

Pays du client
Taille
Thème
Disposition
Cette démo affiche uniquement Google Pay ou Apple Pay si vous disposez d'une carte active sur l'un de ces portefeuilles.

Prochaines étapes

Développez une intégration avec React Stripe.js et Elements à l’aide de l’API Checkout Sessions.

  • Accepter un paiement
  • Ajouter le composant Express Checkout Element
  • En savoir plus sur l’API Elements Appearance
  • Documentation Stripe.js
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc