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
Entwickler-Tools
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenZahlungen verwalten
Payment Links verwenden
Bezahlseite erstellen
Erweiterte Integration erstellen
    Übersicht
    Quickstart
    Erweiterte Integration entwerfen
    Erscheinungsbild anpassen
    Zahlungsmethoden verwalten
      Zahlungen mit dem Express Checkout Element annehmen
      Nutzerdefinierte Zahlungsmethoden hinzufügen
      Zahlungsmethoden anpassen
      Zahlungsmethoden von Kundinnen und Kunden speichern und abrufen
    Zusätzliche Informationen erfassen
    Steuern auf Ihre Zahlungen einziehen
    Die für eine Zahlung verwendete Zahlungsmethode speichern
    Zahlungsmethode speichern, ohne eine Zahlung zu tätigen
    Belege und bezahlte Rechnungen senden
In-App-Integration erstellen
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Andere Stripe-Produkte
Financial Connections
Krypto
Climate
StartseiteZahlungenBuild an advanced integrationManage payment methods

Zahlungen mit dem Express Checkout Element annehmen

Verwenden Sie eine einzige Integration, um Zahlungen über die Zahlungsschaltflächen mit einem Klick anzunehmen.

Seite kopieren

Das Express Checkout Element ist eine Integration für die Annahme von Zahlungen über Schaltflächen für Zahlungsmethoden mit einem Klick. Zu den unterstützten Zahlungsmethoden zählen Link, Apple Pay, Google Pay, PayPal, Klarna und Amazon Pay.

Kundinnen/Kunden sehen unterschiedliche Zahlungsschaltflächen, je nachdem, welche Kombination von Gerät und Browser unterstützt wird. Kompatible Geräte unterstützen Google Pay und Link automatisch. Die Unterstützung von Apple Pay und PayPal erfordert zusätzliche Schritte.

OptionBeschreibung
Land der Händlerin/des HändlersLegen Sie dies mit dem veröffentlichbaren Schlüssel fest, den Sie zum Initialisieren von Stripe.js verwenden. Um das Land zu ändern, müssen Sie die Bereitstellung des Express Checkout Element aufheben, den veröffentlichbaren Schlüssel aktualisieren und dann das Express Checkout Element erneut verbinden.
HintergrundfarbeLegen Sie Farben mit der Elements Appearance API fest. Schaltflächendesigns werden von der Appearance API übernommen, aber Sie können sie auch direkt definieren, wenn Sie das Element erstellen.
Desktop- und MobilgrößeVerwenden Sie das Dropdown-Menü, um die maximale Pixelbreite des übergeordneten Elements festzulegen, mit dem das Express Checkout Element verbunden ist. Sie können es auf 750px (Desktop) oder 320px (Mobil) festlegen.
Max. Anzahl Spalten und ZeilenLegen Sie diese Werte mit dem Parameter Layout fest, wenn Sie das Express Checkout Element erstellen.
ÜberlaufmenüLegen Sie dies mit dem Parameter Layout fest, wenn Sie das Express Checkout Element erstellen.
Versandadresse erfassenUm Versanddaten zu erfassen, müssen Sie beim Erstellen des Express Checkout-Element Optionen übergeben. Erfahren Sie mehr über die Erfassung von Kundendaten und die Anzeige von Einzelposten.

Wir empfehlen Ihnen, bei Verwendung des Express Checkout Element Zahlungsdetails zu erfassen, bevor ein Intent erstellt wird. Wenn Sie zuvor das Payment Element integriert haben, müssen Sie möglicherweise Ihre Integration auf diese bessere Option aktualisieren.

Bevor Sie loslegen

  • Ihrem Browser eine Zahlungsmethode hinzufügen. Beispiel: Sie können Ihrem Google Pay-Konto bzw. Ihrer Wallet für Safari eine Karte hinzufügen.
  • Ihre Anwendung über HTTPS bereitstellen. Dies ist eine Voraussetzung sowohl in der Entwicklung als auch in der Produktion. Sie können einen Dienst wie ngrok verwenden.
  • Registrieren Sie Ihre Domain sowohl in einer Sandbox als auch im Live-Modus.
  • Erstellen Sie ein PayPal Sandbox-Konto, um Ihre Integration zu testen.

Stripe einrichten
Serverseitig

Erstellen Sie zunächst ein Stripe-Konto oder melden Sie sich an.

Verwenden Sie unsere offiziellen Bibliotheken, um von Ihrer Anwendung aus auf die Stripe API zuzugreifen:

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Zahlungsmethoden aktivieren

In der Standardeinstellung verwendet Stripe Ihre Zahlungsmethodeneinstellungen, um festzustellen, welche Zahlungsmethoden im Express Checkout-Element aktiviert sind.

Um manuell zu überschreiben, welche Zahlungsmethoden aktiviert sind, listen Sie alle auf, die Sie mit dem Attribut payment_method_types aktivieren möchten.

  • Wenn Sie Zahlungen einziehen, bevor Sie einen Intent erstellen, listen Sie Zahlungsmethoden im Attribut paymentMethodTypes der Optionen Ihres Element-Anbieters auf.
  • Wenn Sie vor dem Rendern von Elementen einen Intent erstellen, listen Sie Zahlungsmethoden im Attribut payment_method_types Ihres Intents auf.

Unterstützte Zahlungsmethoden

Apple Pay und Google Pay sind automatisch aktiviert, wenn der Zahlungsmethodetyp card verwendet wird. Wenn Sie Link verwenden, müssen Sie auch den Zahlungsmethodentyp card übergeben.

Name der ZahlungsmethodeParameter für die Zahlungsmethoden-API
Apple Paycard
Google Paycard
Linklink, card
PayPalpaypal
Amazon Payamazon_pay
Klarnaklarna

Stripe Elements
Clientseitig

Das Express Checkout Element ist automatisch als Funktion von Stripe.js verfügbar. 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

Um die Express Checkout Element-Komponente zu verwenden, schließen Sie die Komponente Ihrer Bezahlseite in einen Elements-Anbieter ein. Rufen Sie loadStripe mit Ihrem veröffentlichbaren Schlüssel auf und übergeben Sie das zurückgegebene Promise an den Elements-Anbieter.

Der Elements-Provider akzeptiert auch den Modus (Zahlung, Einrichtung oder Abonnement), den Betrag und die Währung. Viele Zahlungsmethoden, einschließlich Apple Pay und Google Pay, verwenden diese Werte in ihrer Nutzeroberfläche. Im nächsten Schritt finden Sie weitere konfigurierbare Optionen für Elements.

index.jsx
import React from 'react'; import ReactDOM from 'react-dom'; import {Elements} from '@stripe/react-stripe-js'; import {loadStripe} from '@stripe/stripe-js'; import CheckoutPage from './CheckoutPage'; // 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'
); function App() { const options = { mode: 'payment', amount: 1099, currency: 'usd', // Customizable with appearance API. appearance: {/*...*/}, }; return ( <Elements stripe={stripePromise} options={options}> <CheckoutPage /> </Elements> ); }; ReactDOM.render(<App />, document.getElementById('root'));

OptionalOptionen für zusätzliche Elemente
Client-seitig

Erstellen und verbinden Sie das Express Bezahlvorgang Element
Clientseitig

Das Express Checkout Element enthält einen iFrame, der die Zahlungsinformationen über eine HTTPS-Verbindung sicher an Stripe sendet. Die Adresse der Bezahlseite muss außerdem mit https:// und nicht mit http:// beginnen, damit Ihre Integration funktioniert.

Fügen Sie die Komponente ExpressCheckoutElement zu Ihrer Bezahlseite hinzu.

CheckoutPage.jsx
import React from 'react'; import {ExpressCheckoutElement} from '@stripe/react-stripe-js'; const CheckoutPage = () => { return ( <div id="checkout-page"> <ExpressCheckoutElement onConfirm={onConfirm} /> </div> ); };

Kundendaten erfassen und Einzelposten anzeigen
Clientseitig

Übergeben Sie Optionen beim Erstellen des Express Checkout Element.

Informationen zur zahlenden Person erfassen

Legen Sie emailRequired: true fest, um die E-Mail-Adressen zu erfassen, und phoneNumberRequired: true, um die Telefonnummern zu erfassen. billingAddressRequired ist standardmäßig true.

CheckoutPage.jsx
const options = { emailRequired: true, phoneNumberRequired: true };

Versandinformationen erfassen

shippingAddressRequired: true festlegen und Array von shippingRates übergeben:

CheckoutPage.jsx
const options = { emailRequired: true, phoneNumberRequired: true, shippingAddressRequired: true, allowedShippingCountries: ['US'], shippingRates: [ { id: 'free-shipping', displayName: 'Free shipping', amount: 0, deliveryEstimate: { maximum: {unit: 'day', value: 7}, minimum: {unit: 'day', value: 5} } }, ] };

Überwachen Sie das Ereignis shippingaddresschange, um zu erkennen, wann Kundinnen/Kunden eine Versandadresse auswählen. Sie müssen entweder resolve oder reject aufrufen, wenn Sie sich für die Handhabung dieses Ereignisses entschieden haben.

CheckoutPage.jsx
const onShippingAddressChange = async ({resolve, address}) => { const response = await fetch('/calculate-shipping', { data: JSON.stringify({ shippingAddress: address }) }); const result = await response.json(); resolve({ lineItems: result.updatedLineItems, }); };

Überwachen Sie das Ereignis shippingratechange event, um zu erkennen, wann eine Kundin/ein Kunde eine Versandrate auswählt. Sie müssen entweder resolve oder reject aufrufen, wenn Sie sich für die Handhabung dieses Ereignisses entschieden haben.

CheckoutPage.jsx
const onShippingRateChange = async ({resolve, shippingRate}) => { const response = await fetch('/calculate-and-update-amount', { data: JSON.stringify({ shippingRate: shippingRate }) }); const result = await response.json(); elements.update({amount: result.amount}) resolve({ lineItems: result.updatedLineItems, }); };

Überwachen Sie das cancel-Ereignis , um zu erkennen, wenn Kundinnen/Kunden die Zahlungsoberfläche schließen. Setzen Sie den Betrag auf den ursprünglichen Betrag zurück.

CheckoutPage.jsx
const onCancel = () => { elements.update({amount: 1099}) };

Fügen Sie den Ereignis-Handler hinzu, wenn Sie das Element erstellen.

CheckoutPage.jsx
<ExpressCheckoutElement options={options} onConfirm={onConfirm} onShippingAddressChange={onShippingAddressChange} onShippingRateChange={onShippingRateChange} onCancel={onCancel} />

Einzelposten anzeigen

Übergeben Sie ein Array von lineItems.

CheckoutPage.jsx
const options = { lineItems: [ { name: 'Sample item', amount: 1000 }, { name: 'Tax', amount: 100 }, { name: 'Shipping cost', amount: 1000 } ] };

Apple Pay-Schnittstelle konfigurieren

So konfigurieren Sie die Apple Pay-Schnittstelle.

Vom Händler initiierte Transaktionen (MIT)

Wir stellen bestimmte Optionen zur Konfiguration für Apple Pay zur Verfügung. Legen Sie die applePay.recurringPaymentRequestOption fest, um eine Anfrage zum Einrichten einer wiederkehrenden Zahlung anzugeben. Wenn angegeben, stellt Apple Pay ein Händler-Token aus und bietet dem Kunden/der Kundin eine Möglichkeit, Zahlungsmethoden für eine wiederkehrende Zahlung zu verwalten.

CheckoutPage.jsx
const options = { applePay: { recurringPaymentRequest: { paymentDescription: 'My subscription', managementURL: 'https://example.com/billing', regularBilling: { amount: 2500, label: 'Monthly subscription fee', recurringPaymentIntervalUnit: 'month', recurringPaymentIntervalCount: 1, }, } } };

OptionalÜberwachen Sie das Ereignis „Ready“
Clientseitig

OptionalLegen Sie fest, wann Zahlungsschaltflächen angezeigt werden sollen
Clientseitig

OptionalSchaltfläche anpassen
Clientseitig

OptionalConfirmationToken erstellen
Clientseitig

Erstellen Sie ein PaymentIntent
Serverseitig

Das PaymentIntent-Objekt von Stripe repräsentiert Ihre Absicht, Zahlungen einzuziehen, und dokumentiert Abbuchungsversuche und Zahlungsstatusänderungen im gesamten Vorgang.

Erstellen Sie einen PaymentIntent mit einem Betrag und einer Währung auf Ihrem Server. Dies muss mit den Angaben übereinstimmen, die Sie für die Instanz stripe.elements in Schritt 3 festgelegt haben. Entscheiden Sie immer auf der Server-Seite, einer vertrauenswürdigen Umgebung, wie viel Sie berechnen möchten, und nicht auf dem Client. So wird verhindert, dass böswillige Kunden und Kundinnen ihre eigenen Preise festlegen.

main.rb
Ruby
require 'stripe' Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
post '/create-intent' do intent = Stripe::PaymentIntent.create({ # To allow saving and retrieving payment methods, provide the Customer ID. customer: customer.id, # In the latest version of the API, specifying the `automatic_payment_methods` parameter is optional because Stripe enables its functionality by default. automatic_payment_methods: {enabled: true}, amount: 1099, currency: 'usd', }) {client_secret: intent.client_secret}.to_json end

Der zurückgegebene PaymentIntent enthält ein Client-Geheimnis, das clientseitig verwendet wird, um den Zahlungsvorgang sicher abzuschließen, ohne das gesamte PaymentIntent-Objekt zu übergeben. Es gibt verschiedene Möglichkeiten, das Client-Geheimnis an den Client zu übergeben.

Zahlung an Stripe senden
Clientseitig

Verwenden Sie stripe.confirmPayment, um die Zahlung mit den Angaben aus dem Express Checkout Element abzuschließen.

Notiz

Für Amazon Pay, Klarna und PayPal muss der Betrag, den Sie im PaymentIntent bestätigen, mit dem Betrag übereinstimmen, den der Käufer/die Käuferin vorab autorisiert hat. Stimmen die Beträge nicht überein, wird die Zahlung abgelehnt.

Geben Sie eine return_url für diese Funktion an, um anzugeben, wohin Stripe den/die Nutzer/in nach Abschluss der Zahlung weiterleiten soll. Ihre Nutzer/innen werden möglicherweise zunächst an eine zwischengeschaltete Website weitergeleitet, bevor sie zur return_url weitergeleitet werden. Payments leitet bei erfolgreicher Zahlung sofort zur return_url weiter.

Wenn Sie nach Zahlungsabschluss keine Weiterleitung wünschen, legen Sie redirect auf if_required fest. Dadurch werden nur Kundinnen/Kunden weitergeleitet, die mit auf Weiterleitung basierenden Zahlungsmethoden bezahlen.

CheckoutPage.jsx
import React from 'react'; import {useStripe, useElements, ExpressCheckoutElement} from '@stripe/react-stripe-js'; const CheckoutPage = () => { const stripe = useStripe(); const elements = useElements(); const [errorMessage, setErrorMessage] = useState(); const onConfirm = async (event) => { if (!stripe) { // Stripe.js hasn't loaded yet. // Make sure to disable form submission until Stripe.js has loaded. return; } const {error: submitError} = await elements.submit(); if (submitError) { setErrorMessage(submitError.message); return; } // Create the PaymentIntent and obtain clientSecret const res = await fetch('/create-intent', { method: 'POST', }); const {client_secret: clientSecret} = await res.json(); // Confirm the PaymentIntent using the details collected by the Express Checkout Element const {error} = await stripe.confirmPayment({ // `elements` instance used to create the Express Checkout Element elements, // `clientSecret` from the created PaymentIntent clientSecret, confirmParams: { return_url: 'https://example.com/order/123/complete', }, }); if (error) { // This point is only reached if there's an immediate error when // confirming the payment. Show the error to your customer (for example, payment details incomplete) setErrorMessage(error.message); } else { // The payment UI automatically closes with a success animation. // Your customer is redirected to your `return_url`. } }; return ( <div id="checkout-page"> <ExpressCheckoutElement onConfirm={onConfirm} /> {errorMessage && <div>{errorMessage}</div>} </div> ); };

Integration testen

Testen Sie die Integration der einzelnen Zahlungsmethoden, bevor Sie live gehen. Informationen zur Kompatibilität der Browser mit einer Zahlungsmethode finden Sie unter unterstützte Browser. Wenn Sie das Express Checkout Element in einem iFrame verwenden, muss das allow-Attribut des iFrame auf payment * gesetzt werden.

Vorsicht

Speichern Sie keine echten Nutzerdaten in Link-Konten der Sandbox. Behandeln Sie sie so, als seien sie öffentlich verfügbar, da diese Testkonten an Ihren veröffentlichbaren Schlüssel gebunden sind.

Derzeit funktioniert Link nur mit Kreditkarten, Debitkarten und qualifizierten Käufen über US-Bankkonten. Link erfordert eine Domain-Registrierung.

Sie können Sandbox-Konten für Link mit jeder gültigen E-Mail-Adresse erstellen. Die folgende Tabelle zeigt die festen einmaligen Passcode-Werte, die Stripe für die Authentifizierung von Sandbox-Konten akzeptiert:

WertErgebnis
Alle anderen 6 Ziffern, die unten nicht aufgeführt sindErfolgreich
000001Fehler, Code ungültig
000002Fehler, Code abgelaufen
000003Fehler, maximale Anzahl an Versuchen überschritten

OptionalExpress Checkout Element mit Stripe Connect verwenden

Stripe Ihren Kundinnen/Kunden anzeigen

Stripe erfasst Informationen über Kundeninteraktionen mit Elements , um Ihnen Dienste bereitzustellen, Betrug vorzubeugen und seine Dienste zu verbessern. Dies umfasst auch die Verwendung von Cookies und IP-Adressen, um zu ermitteln, welche Elements ein/e Kund/in während einer einzelnen Checkout-Sitzung gesehen hat. Sie sind dafür verantwortlich, alle Rechte und Zustimmungen offenzulegen und einzuholen, die Stripe benötigen, um Ihre Daten auf diese Weise zu nutzen. Weitere Informationen finden Sie in unserem Datenschutzcenter.

Siehe auch

  • Stripe Elements
  • Zahlungsdetails vor Erstellen eines Intent erfassen
  • Zahlungen auf dem Server abschließen
War diese Seite hilfreich?
JaNein
Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
Schauen Sie sich unser Änderungsprotokoll an.
Fragen? Sales-Team kontaktieren.
LLM? Lesen Sie llms.txt.
Unterstützt von Markdoc