Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Entwickler-Tools
Jetzt starten
Zahlungen
Finanzautomatisierung
Jetzt starten
Zahlungen
Finanzautomatisierung
Plattformen und Marktplätze
Geldmanagement
Ü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
In-App-Integration erstellen
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
    Übersicht
    Sofortige Bankzahlungen
    Auf einen Blick
    Link mit Checkout
    Link mit Web Elements
    Link mit Mobile Elements
    Mit Invoicing verknüpfen
    Integrationsleitfäden
    Link-Zahlungsintegrationen
    Nutzerdefinierte Bezahlseite erstellen, die Link enthält
    Künftige Zahlungen mit Elements und Link einrichten
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
StartseiteZahlungenFaster checkout with Link

Künftige Zahlungen mit Elements und Link einrichten

Speichern Sie die Daten Ihrer Link-Kundinnen und Kunden und nehmen später Belastungen vor.

Seite kopieren

This guide walks you through how to accept payments with Link using the Setup Intents API and either the Payment Element or Link Authentication Element.

Es gibt drei Möglichkeiten, eine Kunden-E-Mail-Adresse für die Link-Authentifizierung und Registrierung zu sichern:

  • E-Mail-Adresse übermitteln: Sie können mit defaultValues eine E-Mail-Adresse an das Payment Element übergeben. Wenn Sie die E-Mail-Adresse und/oder die Telefonnummer der Kundin/des Kunden bereits im Bezahlvorgang erfassen, empfehlen wir diesen Ansatz.
  • E-Mail-Adresse erfassen: Sie können eine E-Mail-Adresse direkt im Payment Element erfassen. Wenn Sie die E-Mail-Adresse an keiner Stelle des Bezahlvorgangs erfassen, empfehlen wir diesen Ansatz.
  • Link Authentication Element: Sie können das Link Authentication Element verwenden, um ein einziges E-Mail-Eingabefeld sowohl für die E-Mail-Erfassung als auch für die Link-Authentifizierung zu erstellen. Dies empfehlen wir, wenn Sie das Address Element verwenden.
Authentifizierung oder Registrierung bei Link direkt im Payment Element während des Bezahlvorgangs

Erfassen Sie eine Kunden-E-Mail-Adresse für die Link-Authentifizierung oder Registrierung

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'

Kunde/Kundin erstellen
Serverseitig

Um eine Zahlungsmethode für zukünftige Zahlungen einzurichten, müssen Sie sie einem/einer Kund/in hinzufügen. Erstellen Sie Customer-Objekte, wenn Kund/innen ein Konto bei Ihrem Unternehmen erstellen. Customer-Objekte ermöglichen die Wiederverwendung von Zahlungsmethoden und die Nachverfolgung über mehrere Zahlungen hinweg.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

SetupIntent erstellen
Serverseitig

Notiz

Wenn Sie das Payment Element rendern möchten, ohne zuvor einen SetupIntent zu erstellen, finden Sie weitere Informationen unter Zahlungsdetails erfassen, bevor Sie einen Intent erstellen.

Ein SetupIntent ist ein Objekt, das Ihre Absicht darstellt, die Zahlungsmethode eines Kunden/einer Kundin für zukünftige Zahlungen während einer Sitzung einzurichten und den Status dieser Sitzung zu verfolgen. Erstellen Sie einen SetupIntent auf Ihrem Server mit link und den anderen Zahlungsmethoden, die Sie unterstützen möchten:

Command Line
cURL
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer={{CUSTOMER_ID}} \ -d "payment_method_types[]"=card \ -d "payment_method_types[]"=link

Informationen zum Einrichten weiterer Zahlungsmethoden finden Sie im Leitfaden Zukünftige Zahlungen einrichten.

Client-Geheimnis abrufen

Im SetupIntent ist ein Client-Geheimnis enthalten, das auf dem Client verwendet wird, um Zahlungen sicher abzuschließen. Es gibt verschiedene Verfahren zum Übergeben des Client-Geheimnisses an den Client.

Rufen Sie das Client-Geheimnis von einem Endpoint auf Ihrem Server ab, indem Sie die Browser-Funktion fetch verwenden. Diese Vorgehensweise funktioniert am besten, wenn es sich bei Ihrer Client-Seite um eine einseitige Anwendung handelt, insbesondere wenn sie mit einem modernen Frontend-Framework wie React erstellt wurde. Erstellen Sie den Server-Endpoint, der das Client-Geheimnis bereitstellt:

main.rb
Ruby
get '/secret' do intent = # ... Create or retrieve the SetupIntent {client_secret: intent.client_secret}.to_json end

Und dann rufen Sie das Client-Geheimnis mit JavaScript auf der Client-Seite ab:

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

E-Mail-Adressen von Kundinnen/Kunden erfassen

Link authentifiziert eine Kundin/einen Kunden anhand der E-Mail-Adresse. Je nach Bezahlvorgang haben Sie folgende Möglichkeiten: Eine E-Mail an das Payment Element übergeben, diese direkt im Zahlung Element erfassen oder das Link Authentication Element verwenden. Stripe empfiehlt hier, eine Kunden-E-Mail-Adresse an das Payment Element zu übergeben, falls verfügbar.

Falls eine der folgenden Voraussetzungen auf Sie zutrifft:

  • Sie benötigen eine einzige, optimierte Komponente für die Erfassung der E-Mail-Adresse und die Link-Authentifizierung.
  • Sie müssen eine Versandadresse von Ihrem Kunden/Ihrer Kundin erfragen.

Verwenden Sie dann diesen Integrationsablauf, der drei Elemente implementiert: das Link Authentication Element, das Payment Element und optional das Address Element.

Bei Link-fähigen Bezahlseiten befindet sich das Link Authentication Element am Anfang, gefolgt vom Address Element und dem Payment Element am Ende. Das Link Authentication Element kann bei mehrseitigen Bezahlvorgängen in derselben Reihenfolge auch auf separaten Seiten angezeigt werden.

Ein Zahlungsformular mit mehreren Elements erstellen

Ein Zahlungsformular mit mehreren Elements erstellen

Die Integration funktioniert wie folgt:

Ihr Zahlungsformular einrichten
Clientseitig

Jetzt können Sie Ihr nutzerdefiniertes Zahlungsformular mit den vorgefertigten Elements-Nutzeroberflächenkomponenten einrichten. Die Adresse Ihrer Zahlungsseite muss mit https:// statt http:// beginnen, damit Ihre Integration funktioniert. Sie können Ihre Integration ohne HTTPS testen. Aktivieren Sie HTTPS, wenn Sie bereit sind, Live-Zahlungen anzunehmen.

The Link Authentication Element rendert eine E-Mail-Adresseingabe. Wenn Link eine E-Mail-Adresse in einem bestehenden Link-Konto zuordnet, wird ein sicherer, einmaliger Authentifizierungscode an das Kundentelefon gesendet. Nach der Authentifizierung zeigt Stripe dann die über Link gespeicherten Adressen und Zahlungsmethoden automatisch an, sodass sie automatisch weiterverwendet werden können.

Diese Integration erstellt außerdem das Payment Element, welches ein dynamisches Formular für die Auswahl der Zahlungsmethode rendert. Das Formular erfasst automatisch alle notwendigen Zahlungsinformationen für die ausgewählte Zahlungsmethode. Nach erfolgter Kundenauthentifizierung übernimmt das Payment Element auch die Anzeige der über Link gespeicherten Zahlungsmethoden.

Stripe Elements

Install React Stripe.js and the Stripe.js loader from the npm public registry.

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

Führen Sie auf Ihrer Zahlungsseite das Wrapping Ihres Zahlungsformulars mit der Komponente Elements durch und übergeben Sie das Client-Geheimnis aus dem vorangehenden Schritt. Wenn Sie die E-Mail-Adresse des Kunden/der Kundin bereits in einem anderen Abschnitt Ihres Formulars erfassen, ersetzen Sie Ihren bestehenden Eintrag durch das linkAuthenticationElement​.

Wenn Sie keine E-Mail-Adressen erfassen, fügen Sie das linkAuthenticationElement​ zu Ihrem Bezahlvorgang hinzu. Sie müssen das linkAuthenticationElement vor dem ShippingAddressElement platzieren (optional, wenn Sie Versandadressen erfassen) und das PaymentElement so platzieren, dass Link die über Link gespeicherten Daten für Ihre Kundinnen und Kunden automatisch in ShippingAddressElement und PaymentElement ausfüllt. Sie können auch die Erscheinungsbildoption übergeben und so die Elemente an das Design Ihrer Website anpassen.

Wenn Ihnen eine Kunden-E-Mail-Adresse vorliegt, übergeben Sie diese an die Option defaultValues von linkAuthenticationElement. Dadurch wird die E-Mail-Adresse vorab ausgefüllt und die Link-Authentifizierung ausgelöst.

Wenn Sie weitere Kundendaten haben, übergeben Sie diese an das defaultValues.billingDetails-Objekt für das PaymentElement. Indem möglichst viele Informationen vorab ausgefüllt werden, lässt sich die Erstellung von Link-Konten und die Wiederverwendung der Konten für Ihre Kundinnen und Kunden vereinfachen.

Rendern Sie dann die Komponenten linkAuthenticationElement und PaymentElement in Ihrem Zahlungsformular:

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { Elements, LinkAuthenticationElement, PaymentElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); // Customize the appearance of Elements using the Appearance API. const appearance = {/* ... */}; // Enable the skeleton loader UI for the optimal loading experience. const loader = 'auto';

linkAuthenticationElement, PaymentElement und ShippingAddressElement müssen sich nicht auf derselben Seite befinden. Wenn bei einem Ihrer Abläufe Kundenkontaktdaten, Versandinformationen und Zahlungsdaten in separaten Schritten angezeigt werden, können Sie jedes Element im entsprechenden Schritt oder auf der entsprechenden Seite anzeigen. Nehmen Sie das linkAuthenticationElement als E-Mail-Eingabeformular in die Erfassung von Kontaktinformationen auf, um sicherzustellen, dass das von Link bereitgestellte automatische Ausfüllen der Versand- und Zahlungsinformationen in vollem Umfang genutzt werden kann.

Fragen Sie am Anfang des Bezahlvorgangs E-Mail-Adressen mit dem Link Authentication Element ab, muss dieses auf der Versand- und Zahlungsseite nicht erneut angezeigt werden.

Eine E-Mail-Adresse abrufen

Sie können die Details der E-Mail-Adresse mithilfe der Eigenschaft onChange der Komponente linkAuthenticationElement abrufen. Der onChange-Handler wird immer dann ausgelöst, wenn der/die Nutzer/in das E-Mail-Feld aktualisiert oder wenn eine gespeicherte Kunden-E-Mail-Adresse automatisch angegeben wird.

<linkAuthenticationElement onChange={(event) => { setEmail(event.value.email); }} />

Eine Kunden-E-Mail-Adresse vorab eingeben

Das Link Authentication Element akzeptiert E-Mail-Adressen. Wenn eine Kundenadresse eingegeben wird, wird der Link-Authentifizierungsablauf mit der Option defaultValues ausgelöst, sobald die Zahlungsseite aufgerufen wird.

<linkAuthenticationElement options={{defaultValues: {email: 'foo@bar.com'}}}/>

OptionalZusätzliche Kundendaten vorab ausfüllen
Clientseitig

OptionalVersandadressen erfassen
Clientseitig

OptionalErscheinungsbild anpassen
Clientseitig

SetupIntent übermitteln
Clientseitig

Verwenden Sie stripe.confirmSetup, um die Einrichtung mit den erfassten Details abzuschließen. Geben Sie eine return_url für diese Funktion an, damit Stripe Nutzer/innen weiterleiten kann, nachdem sie die Einrichtung abgeschlossen haben. Wenn eine Zahlung erfolgreich ist, leitet Stripe Link- und Kartenzahlungen sofort an die return_url weiter.

Checkout.jsx
import {loadStripe} from "@stripe/stripe-js"; import { useStripe, useElements, Elements, LinkAuthenticationElement, PaymentElement, // If collecting shipping AddressElement, } from "@stripe/react-stripe-js"; const stripe = loadStripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const appearance = {/* ... */}; // Enable the skeleton loader UI for the optimal loading experience. const loader = 'auto'; const CheckoutPage =({clientSecret}) => ( <Elements stripe={stripe} options={{clientSecret, appearance, loader}}> <CheckoutForm /> </Elements> ); export default function CheckoutForm() { const stripe = useStripe(); const elements = useElements(); const handleSubmit = async (event) => { event.preventDefault(); const {error} = await stripe.confirmSetup({ elements, confirmParams: { return_url: "https://example.com/order/123/complete", }, }); if (error) { // handle error } }; return ( <form onSubmit={handleSubmit}> <h3>Contact info</h3> <LinkAuthenticationElement /> {/* If collecting shipping */} <h3>Shipping</h3> <AddressElement options={{mode: 'shipping', allowedCountries: ['US']}} /> <h3>Payment</h3> <PaymentElement /> <button type="submit">Submit</button> </form> ); }

Die gespeicherte Zahlungsmethode später belasten
Serverseitig

Wenn Sie ein Kundenkonto belasten möchten, erstellen Sie anhand der Kunden-ID und der PaymentMethod-ID einen PaymentIntent. Um eine zu belastende Zahlungsmethode zu finden, listen Sie die mit Ihrem Kunden/Ihrer Kundin verknüpfte Zahlungsmethode auf.

Command Line
curl
curl https://api.stripe.com/v1/payment_methods \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}" \ -d "type"="link" \ -G

Wenn Sie über die Kunden-ID und die PaymentMethod-ID verfügen, erstellen Sie einen PaymentIntent mit dem Betrag und der Währung der Zahlung mit den folgenden Parametern:

  • Legen Sie den Wert der Eigenschaft confirm des PaymentIntent auf true fest. Dadurch erfolgt die Bestätigung sofort, wenn der PaymentIntent erstellt wird.
  • Legen Sie payment_method auf die ID der PaymentMethod fest
  • Legen Sie customer auf die ID des Kunden/der Kundin fest.
  • Legen Sie off_session auf true fest. Dies führt dazu, dass der PaymentIntent einen Fehler sendet, wenn eine Authentifizierung erforderlich ist, während Ihr Kunde/Ihre Kundin Ihre Website oder App nicht aktiv nutzt.
Command Line
Curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d amount=1099 \ -d currency=usd \ # In the latest version of the API, specifying the `automatic_payment_methods` parameter is optional because Stripe enables its functionality by default. -d "automatic_payment_methods[enabled]"=true \ -d customer="{{CUSTOMER_ID}}" \ -d payment_method="{{PAYMENT_METHOD_ID}}" \ -d return_url="https://example.com/order/123/complete" \ -d off_session=true \ -d confirm=true

Integration testen

Vorsicht

Don’t store real user data in sandbox Link accounts. Treat them as if they’re publicly available, because these test accounts are associated with your publishable key.

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

You can create sandbox accounts for Link using any valid email address. The following table shows the fixed one-time passcode values that Stripe accepts for authenticating sandbox accounts:

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

Informationen zum Testen bestimmter Zahlungsmethoden finden Sie in den Beispielen für das Testen von Zahlungselementen.

Mehrere Finanzierungsquellen

Da Stripe zusätzliche Unterstützung für Finanzierungsquellen bietet, müssen Sie Ihre Integration nicht aktualisieren. Stripe unterstützt diese automatisch mit der gleichen Transaktionsabwicklungszeit und den gleichen Garantien wie bei Karten- und Bankkontozahlungen.

Kartenauthentifizierung und 3D Secure

Link unterstützt die 3D Secure 2 (3DS2)-Authentifizierung für Kartenzahlungen. 3DS2 erfordert, dass Kundinnen/Kunden beim Bezahlen einen zusätzlichen Verifizierungsschritt beim Kartenaussteller durchführen. Für Zahlungen, die erfolgreich mit 3D Secure authentifiziert wurden, gilt eine Haftungsverlagerung.

To trigger 3DS2 authentication challenge flows with Link in a sandbox, use the following test card with any CVC, postal code, and future expiration date: .

In a sandbox, the authentication process displays a mock authentication page. On that page, you can either authorize or cancel the payment. Authorizing the payment simulates successful authentication and redirects you to the specified return URL. Clicking the Failure button simulates an unsuccessful attempt at authentication.

Weitere Details finden Sie auf der Seite 3D Secure-Authentifizierung.

Notiz

Beim Testen von 3DS-Abläufen lösen nur Testkarten für 3DS2 die Authentifizierung bei Link aus.

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

  • Link im Payment Element
  • Link Authentication Element kennenlernen
  • Link in verschiedenen Zahlungsintegrationen.
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