Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
Gestion des versions
Journal des modifications
Mettre à niveau votre version de l'API
Actualiser votre version du SDK
Essentials
SDK
    Présentation
    SDK côté serveur
    Web
    Module ES Stripe.js
    React Stripe.js
    Stripe.js testing assistant
    Appareils mobiles
    SDK iOS
    SDK Android
    SDK React Native
    Migrer vers le SDK iOS 24
    Migrer vers le SDK Android 21
    Terminal
    SDK iOS
    SDK Android
    SDK React Native
    Communauté
    SDK de la communauté
API
Tests
CLI Stripe
Exemples de projets
Outils
Dashboard Stripe
Workbench
Dashboard des développeurs
Shell Stripe
Stripe pour Visual Studio Code
Fonctionnalités
Workflows
Destinations d'événements
Alertes d'intégrité de StripeChargements de fichiers
Solutions d'IA
Boîte à outils des agents
Modèle de protocole contextuelCréer des flux de facturation SaaS avec l’IA agentique
Sécurité et confidentialité
Sécurité
Robot d'exploration Web Stripebot
Confidentialité
Extensions Stripe
Créer des applications Stripe
Utiliser les applications de Stripe
Partenaires
Partner ecosystem
Certification des partenaires
AccueilRessources pour les développeursSDKs

Documentation React Stripe.js

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

Voir le code

Vous voulez voir comment fonctionne React Stripe.js ou aider à son développement ? Consultez le projet sur GitHub. Vous pouvez également consulter le journal des modifications dans l’onglet Mises à jour.

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

This reference covers the full React Stripe.js API. If you prefer to learn by doing, check out our documentation on accepting a payment or take a look at a sample integration.

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.

Consultez la section consacrée à la création d’une session Checkout pour voir un exemple de ce à quoi peut ressembler votre endpoint.

index.jsx
import {CheckoutProvider} from '@stripe/react-stripe-js/checkout'; 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'
); export default function App() { const promise = useMemo(() => { return fetch('/create-checkout-session', { method: 'POST', }) .then((res) => res.json()) .then((data) => data.clientSecret); }, []); return ( <CheckoutProvider stripe={stripePromise} options={{clientSecret: promise}}> <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

Options de configuration de CheckoutProvider. Voir les options disponibles. Vous devez fournir le clientSecret de la Session de Paiement créée. Voir Create a Checkout Session pour un exemple.

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.jsx
import {PaymentElement} from '@stripe/react-stripe-js/checkout'; 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
BillingAddressElementCollecte les détails de l’adresse de facturation pour plus de 236 formats régionaux. Pour en savoir plus, consultez la documentation d’ Address Element.
ShippingAddressElementCollecte les détails de l’adresse de livraison pour plus de 236 formats régionaux. Pour en savoir plus, consultez la documentation sur Address Element.
ExpressCheckoutElementAllows you to accept card or wallet payments through one or more payment buttons, including Apple Pay, Google Pay, Link, or PayPal. See the Express Checkout Element documentation to learn more.
PaymentElementCollects payment details for more than 25 payment methods from around the globe. See the Payment Element documentation to learn more.

hook useCheckout

useCheckout() : CheckoutValue

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.jsx
import {useCheckout, PaymentElement} from '@stripe/react-stripe-js/checkout'; const CheckoutForm = () => { const checkoutState = useCheckout(); const handleSubmit = async (event) => { // We don't want to let default form submission happen here, // which would refresh the page. event.preventDefault(); if (checkoutState.type === 'loading') { return ( <div>Loading...</div> ); } else if (checkoutState.type === 'error') { return ( <div>Error: {checkoutState.error.message}</div> ); } // checkoutState.type === 'success' const {checkout} = checkoutState; 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.

Each element is mounted in an iframe, which means that Elements probably won’t work with any existing styling and component frameworks that you have. Despite this, you can still configure Elements to match the design of your site. To customize Elements, you respond to events and configure Elements with the appearance option. The layout of each Element stays consistent, but you can modify colors, fonts, borders, padding, and so on.

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.

  • Accept a payment
  • Add the Express Checkout Element
  • The Elements Appearance API
  • 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