Dokumentation zu React Stripe.js
Erfahren Sie mehr über React-Komponenten für Stripe.js und Stripe Elements.
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. DWenn 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
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
.
See Create a Checkout Session for an example of what your endpoint might look like.
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(
); 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> ); }'pk_test_TYooMQauvdEDq54NiTphI7jx'
Eigenschaft | Beschreibung |
---|---|
| erforderlich Ein Stripe-Objekt oder ein Sie können auch |
| required CheckoutProvider configuration options. See available options. You must provide the |
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.
import {PaymentElement} from '@stripe/react-stripe-js'; const CheckoutForm = () => { return ( <form> <PaymentElement /> <button>Submit</button> </form> ); }; export default CheckoutForm;
Eigenschaft | Beschreibung |
---|---|
| optional Ein Objekt, das Element-Konfigurationsoptionen enthält. Siehe verfügbare Optionen für das Payment Element. |
| optional Wird ausgelöst, wenn das Element seinen Fokus verliert. |
| optional Wird ausgelöst, wenn sich die von diesem Element bereitgestellten Daten ändern. Weitere Informationen finden Sie in der Referenz für Stripe.js. |
| optional Wird ausgelöst, wenn die Escape-Taste innerhalb eines Elements gedrückt wird. Weitere Informationen finden Sie in der Referenz für Stripe.js. |
| optional Wird ausgelöst, wenn das Element seinen Fokus erhält. |
| optional Wird ausgelöst, wenn das Element nicht geladen wird. Weitere Informationen finden Sie in der Referenz für Stripe.js. |
| optional 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 Weitere Informationen finden Sie in der Referenz für Stripe.js. |
| optional Wird ausgelöst, wenn das Element vollständig gerendert ist und notwendige Aufrufe von |
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:
Komponente | Nutzung |
---|---|
AddressElement | Erfasst Adressdaten für mehr als 236 regionale Formate. Weitere Informationen finden Sie in der Dokumentation zu Address Element. |
ExpressCheckoutElement | Damit 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 zu Express Checkout Element |
PaymentElement | Erfasst Zahlungsdaten für mehr als 25 Zahlungsmethoden weltweit. Weitere Informationen finden Sie in der Dokumentation zum Payment Element. |
useCheckout-Hook
useCheckout(): CheckoutContextValue | null
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.
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;
Anpassung und Design
Jedes Element ist mit einem iframe
verbunden, was bedeutet, dass Elements wahrscheinlich nicht mit Ihren vorhandenen Stil- und Komponenten-Frameworks funktioniert. Dennoch können Sie Elements so konfigurieren, dass es zum Design Ihrer Website passt. Das Anpassen von Elements besteht aus der Reaktion auf Ereignisse und der Konfiguration von Elements mit der Erscheinungsbildoption. Das Layout der einzelnen Elemente bleibt konsistent, Sie können jedoch u. a. Farben, Schriftarten, Rahmen und Abstände ändern.
Nächste Schritte
Erstellen Sie eine Integration mit React Stripe.js und Elements mit der Checkout Sessions API.