Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
Übersicht
Versionierung
Änderungsprotokoll
Aktualisieren Sie Ihre API-Version
Ihre SDK-Version aktualisieren
Essentials
SDKs
    Übersicht
    Serverseitige SDKs
    Internet
    ES-Modul Stripe.js
    React Stripe.js
    Stripe.js-Test-Assistent
    Mobil
    iOS SDK
    Android SDK
    React Native SDK
    Zu iOS SDK 24 migrieren
    Zu Android SDK 21 migrieren
    Terminal
    iOS SDK
    Android SDK
    React Native SDK
    Gemeinde
    Community-SDKs
API
Tests
Stripe-CLI
Beispiel-Projekte
Tools
Stripe Dashboard
Workbench
Entwickler-Dashboard
Stripe Shell
Stripe für Visual Studio Code
Funktionen
Arbeitsabläufe
Ereignisziele
Stripe-StatuswarnungenHochgeladene Dateien
KI-Lösungen
Agent-Toolkit
Model Context ProtocolAgentische KI-SaaS-Billing-Workflows aufbauen
Sicherheit und Datenschutz
Sicherheit
Stripebot-Webcrawler
Datenschutz
Extend Stripe
Erstellen Sie Stripe-Apps
Verwenden Sie Apps von Stripe
Partner
Partner-Ecosystem
Partner-Zertifizierung
StartseiteEntwicklerressourcenSDKs

Dokumentation zu React Stripe.js

Erfahren Sie mehr über React-Komponenten für Stripe.js und Stripe Elements.

Der Programmcode

Möchten Sie sehen, wie React Stripe.js funktioniert oder bei der Entwicklung helfen? Schauen Sie sich das Projekt auf GitHub an. Sie können das Änderungsprotokoll auch auf der Registerkarte Freigaben einsehen.

React Stripe.js ist ein schlanker Wrapper um Stripe Elements, mit dem Sie jeder React-App Elemente hinzufügen können.

Die Stripe.js-Referenz behandelt alle Details zur Anpassung von Elements.

Sie können Elements mit jedem Stripe-Produkt verwenden, um Online-Zahlungen einzuziehen. Lesen Sie unsere Dokumentation, um den richtigen Integrationspfad für Ihr Unternehmen zu finden.

Notiz

Diese Dokumentation bezieht sich auf die gesamte React Stripe.js API. Wenn Sie sich lieber anhand von praktischen Beispielen einen Überblick verschaffen möchten, lesen Sie unsere Dokumentation zum Annehmen einer Zahlung oder sehen Sie sich eine Beispielintegration an.

Bevor Sie loslegen

Diese Dokumentation setzt voraus, dass Sie bereits über grundlegende Kenntnisse von React verfügen und auch schon ein entsprechendes React-Projekt erstellt haben. Wenn Sie zum ersten Mal mit React arbeiten, empfehlen wir Ihnen, sich zunächst den Leitfaden Getting Started anzusehen.

Einrichtung

Installieren Sie React Stripe.js und den Stripe.js-Loader aus dem öffentlichen npm-Register.

Command Line
npm install --save @stripe/react-stripe-js @stripe/stripe-js

Checkout-Anbieter

Mit dem CheckoutProvider können Sie Element-Komponenten verwenden und auf das Stripe-Objekt in einer beliebigen verschachtelten Komponente zugreifen. Rendern Sie einen CheckoutProvider im Stammverzeichnis Ihrer React-App, damit er Ihnen bei Bedarf zur Verfügung steht.

Um den CheckoutProvider zu verwenden, rufen Sie loadStripe von @stripe/stripe-js mit Ihrem veröffentlichbaren Schlüssel auf. Die Funktion loadStripe lädt asynchron das Skript Stripe.js und initialisiert ein Stripe-Objekt. Übergeben Sie das zurückgegebene Promise an den CheckoutProvider.

Ein Beispiel dafür, wie Ihr Endpoint aussehen könnte, finden Sie unter Checkout-Sitzung erstellen.

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> ); }
EigenschaftBeschreibung

stripe

erforderlich Stripe | null | Promise<Stripe | null>

Ein Stripe-Objekt oder ein Promise, das in ein Stripe-Objekt aufgelöst wird. Am leichtesten lässt sich ein Stripe-Objekt mit dem Wrapper-Modul von Stripe.js initialisieren. Nachdem Sie diese Eigenschaft festgelegt haben, kann sie nicht mehr geändert werden.

Sie können auch null oder ein Promise übergeben, das in null aufgelöst wird, wenn Sie zum ersten Mal serverseitig rendern oder eine statische Website erstellen.

options

required Object

Konfigurationsoptionen für CheckoutProvider. Verfügbare Optionen anzeigen. Sie müssen das clientSecret der erstellten Checkout-Sitzung angeben. Ein Beispiel finden Sie unter Checkout-Sitzung erstellen.

Element-Komponenten

Mit Element-Komponenten können Sie Zahlungsinformationen sicher in Ihrer React-App erfassen und die Elemente an einer beliebigen Stelle auf Ihrer Bezahlseite platzieren. Auch das Erscheinungsbild kann angepasst werden.

Sie können einzelne Element-Komponenten innerhalb Ihrer CheckoutProvider-Baumstruktur verbinden. Sie können nur jeweils einen Element-Typ mit einem einzigen <CheckoutProvider> verbinden.

CheckoutForm.jsx
import {PaymentElement} from '@stripe/react-stripe-js/checkout'; const CheckoutForm = () => { return ( <form> <PaymentElement /> <button>Submit</button> </form> ); }; export default CheckoutForm;
EigenschaftBeschreibung

options

optional Object

Ein Objekt, das Element-Konfigurationsoptionen enthält. Siehe verfügbare Optionen für das Payment Element.

onBlur

optional () => void

Wird ausgelöst, wenn das Element seinen Fokus verliert.

onChange

optional (event: Object) => void

Wird ausgelöst, wenn sich die von diesem Element bereitgestellten Daten ändern.

Weitere Informationen finden Sie in der Referenz für Stripe.js.

onEscape

optional (event: Object) => void

Wird ausgelöst, wenn die Escape-Taste innerhalb eines Elements gedrückt wird.

Weitere Informationen finden Sie in der Referenz für Stripe.js.

onFocus

optional () => void

Wird ausgelöst, wenn das Element seinen Fokus erhält.

onLoaderror

optional (event: Object) => void

Wird ausgelöst, wenn das Element nicht geladen wird.

Weitere Informationen finden Sie in der Referenz für Stripe.js.

onLoaderStart

optional (event: Object) => void

Wird ausgelöst, wenn die Nutzeroberfläche des Loaders mit dem DOM verbunden bereit zum Anzeigen ist.

Sie erhalten diese Ereignisse nur von den Elementen payment und address.

Weitere Informationen finden Sie in der Referenz für Stripe.js.

onReady

optional (element: Element) => void

Wird ausgelöst, wenn das Element vollständig gerendert ist und notwendige Aufrufe von element.focus() akzeptieren kann. Der Aufruf erfolgt mit einem Verweis auf die zugrunde liegende Element-Instanz.

Verfügbare Element-Komponenten

Sie können mehrere Arten von Elementen verwenden, um Informationen auf Ihrer Bezahlseite zu erfassen. Dies sind die verfügbaren Elemente:

KomponenteNutzung
BillingAddressElementErfasst Rechnungsadressdaten für mehr als 236 regionale Formate. Weitere Informationen finden Sie in der Dokumentation zum Address Element.
ShippingAddressElementErfasst Versandadressdaten für mehr als 236 regionale Formate. Weitere Informationen finden Sie in der Dokumentation zum Address Element.
ExpressCheckoutElementDamit können Sie Zahlungen per Karte oder Wallet über eine oder mehrere Zahlungsschaltflächen annehmen, einschließlich Apple Pay, Google Pay, Link oder PayPal. Weitere Informationen finden Sie in der Dokumentation zum Express Checkout Element.
PaymentElementErfasst Zahlungsdetails für mehr als 25 Zahlungsmethoden aus der ganzen Welt. Weitere Informationen finden Sie in der Dokumentation zum Payment Element.

useCheckout-Hook

useCheckout(): CheckoutValue

Verwenden Sie den useCheckout-Hook in Ihren Komponenten, um das Checkout-Objekt abzurufen, das Daten aus der Checkout-Sitzung sowie Methoden zu deren Aktualisierung enthält.

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;

Anpassung und Design

Warum wir iframes verwenden

Auch wenn iFrames das Festlegen eines Stils für ein Element erschweren, können sie die Verantwortung für den sicheren Umgang mit Zahlungsdaten auf Stripe verlagern und Ihrer Website helfen, die branchenspezifischen Vorschriften einzuhalten.

Jedes Element ist in einen iframe eingebunden, was bedeutet, dass Elements wahrscheinlich nicht mit Ihren vorhandenen Stil- und Komponenten-Frameworks funktioniert. Trotzdem können Sie Elements so konfigurieren, dass es zum Design Ihrer Website passt. Um Elements anzupassen, reagieren Sie auf Ereignisse und konfigurieren Sie Elements mit der Option Erscheinungsbild. Das Layout jedes Elements bleibt einheitlich, Sie können jedoch Farben, Schriftarten, Ränder, Abstände usw. ändern.

Kundenstandort
Größe
Design
Layout
Diese Demo zeigt Google Pay oder Apple Pay nur dann an, wenn Sie über eine aktive Karte mit einer der beiden Wallets verfügen.

Nächste Schritte

Erstellen Sie eine Integration mit React Stripe.js und Elements mit der Checkout Sessions API.

  • Zahlung akzeptieren
  • Express Checkout Element hinzufügen
  • Die Elements Appearance API
  • Referenz zu Stripe.js
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc