Nutzerdefinierte Bezahlseite erstellen, die Link enthält
Integrieren Sie Link mit dem Payment Element oder Link Authentication Element.
This guide walks you through how to accept payments with Link using the Payment 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.
Erfassen Sie eine Kunden-E-Mail-Adresse für die Link-Authentifizierung oder Registrierung
Stripe einrichtenServerseitig
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:
PaymentIntent erstellenServerseitig
Stripe verwendet ein PaymentIntent-Objekt, um Ihre Absicht darzustellen, eine Kundenzahlung einzuziehen. Dabei werden die Abbuchungsversuche und Zahlungsstatusänderungen während des gesamten Vorgangs dokumentiert.
Wenn Sie Kartendetails für die zukünftige Nutzung mit Setup Intents erfassen, listen Sie Zahlungsmethoden manuell auf, statt dynamische Zahlungsmethoden zu verwenden. Um Link ohne dynamische Zahlungsmethoden zu verwenden, aktualisieren Sie Ihre Integration so, dass link
an payment_
übergeben wird.
Wenn Sie einen PaymentIntent erstellen, bieten Sie Ihren Kundinnen/Kunden dynamisch die relevantesten Zahlungsmethoden an, einschießlich Link, indem Sie dynamische Zahlungsmethoden verwenden. Um dynamische Zahlungsmethoden zu verwenden, fügen Sie den Parameter payment_
nicht ein. Sie können optional auch automatic_
aktivieren.
Notiz
Wenn der Parameter payment_
in Ihrer Integration nicht festgelegt ist, werden einige Zahlungsmethoden automatisch aktiviert, einschließlich Karten und Wallets.
So fügen Sie mithilfe dynamischer Zahlungsmethoden Link zu Ihrer Elements-Integration hinzu:
- Aktivieren Sie in Ihrem Dashboard in den Einstellungen der Zahlungsmethoden Link.
- Wenn Sie über eine bestehende Integration verfügen, die Zahlungsmethoden manuell auflistet, entfernen Sie den Parameter payment_method_types aus Ihrer Integration.
Client-Geheimnis abrufen
Im PaymentIntent 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.
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.
Ihr Zahlungsformular einrichtenClientseitig
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.
Zahlung an Stripe sendenClientseitig
Verwenden Sie stripe.confirmPayment, um die Zahlung mit den von Ihren Kundinnen und Kunden in den verschiedenen Elements-Formularen erfassten Daten abzuschließen. Stellen Sie eine return_url für diese Funktion bereit, um anzugeben, wohin Stripe Nutzer/innen nach Abschluss der Zahlung weiterleitet.
Ihre Nutzer/innen werden möglicherweise zunächst an eine zwischengeschaltete Seite, z. B. eine Bankautorisierungsseite, weitergeleitet, bevor Stripe sie zu der return_
weiterleitet.
By default, card and bank payments immediately redirect to the return_
when a payment is successful. If you don’t want to redirect to the return_
, you can use if_required to change the behavior.
Die return_
entspricht einer Seite auf Ihrer Website, die den Zahlungsstatus des PaymentIntent
liefert, wenn Sie die Rückgabeseite rendern. Wenn Stripe den Kunden/die Kundin an die return_
weiterleitet, können Sie die folgenden URL-Abfrageparameter verwenden, um den Zahlungsstatus zu überprüfen. Sie können auch Ihre eigenen Abfrageparameter anhängen, wenn Sie die return_
bereitstellen. Diese Abfrageparameter bleiben während des Weiterleitungsprozesses bestehen.
Parameter | Beschreibung |
---|---|
payment_ | Die eindeutige ID für den PaymentIntent |
payment_ | Das Client-Geheimnis des PaymentIntent -Objekts. |
Ereignisse nach der Zahlung verarbeitenServerseitig
Stripe sendet ein payment_intent.succeeded-Ereignis, wenn die Zahlung abgeschlossen ist. Verwenden Sie einen Webhook, um diese Ereignisse zu empfangen, und führen Sie Aktionen aus, wie beispielsweise das Senden einer Bestellbestätigung per E-Mail, das Protokollieren des Verkaufs in der Datenbank oder das Starten eines Versand-Workflows.
Konfigurieren Sie Ihre Integration so, dass diese Ereignisse überwacht werden, statt auf einen Callback vom Client zu warten. Wenn Sie auf einen Callback vom Client warten, können die Kund/innen das Browserfenster schließen oder die App beenden, bevor der Callback erfolgt ist. Wenn Sie Ihre Integration so einrichten, dass sie asynchrone Ereignisse überwacht, können Sie verschiedene Arten von Zahlungsmethoden mit einer einzelnen Integration akzeptieren.
Neben der Abwicklung des payment_
-Ereignisses können Sie auch zwei andere wichtige Ereignisse verarbeiten, wenn Sie Zahlungen mit dem Payment Element erfassen:
Ereignis | Beschreibung | Aktion |
---|---|---|
payment_intent.succeeded | Wird von Stripe gesendet, wenn Kund/innen eine Zahlung erfolgreich abgeschlossen haben. | Senden Sie den Kund/innen eine Auftragsbestätigung und erledigen Sie die Ausführung der Bestellung. |
payment_intent.payment_failed | Wird von Stripe gesendet, wenn Kund/innen versucht haben, eine Zahlung durchzuführen, die Zahlung aber nicht erfolgreich war. | Wenn eine Zahlung von processing zu payment_ übergegangen ist, bieten Sie den Kund/innen einen weiteren Zahlungsversuch an. |
Integration testen
Vorsicht
Speichern Sie im Test-Modus keine echten Benutzerdaten für Link-Konten. 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 Test-Modus-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 Konten im Test-Modus akzeptiert:
Wert | Ergebnis |
---|---|
Alle anderen 6 Ziffern, die unten nicht aufgeführt sind | Erfolgreich |
000001 | Fehler, Code ungültig |
000002 | Fehler, Code abgelaufen |
000003 | Fehler, 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 (3DS2) für Kartenzahlungen. Bei 3DS2 müssen Kundinnen und Kunden einen zusätzlichen Verifizierungsschritt beim Kartenaussteller durchlaufen, wenn sie die Zahlung durchführen. Für Zahlungen, die erfolgreich mit 3D Secure authentifiziert wurden, gilt eine Haftungsverlagerung.
Um die 3DS2-Authentifizierung mit Link im Test-Modus auszulösen, verwenden Sie die folgende Testkarte mit beliebigen Werten für Prüfziffer, Postleitzahl und zukünftigem Ablaufdatum:
Im Test-Modus zeigt die Authentifizierung eine simulierte Authentifizierungsseite an. Auf dieser Seite können Sie die der Zahlung autorisieren oder stornieren. Bei der Autorisierung der wird eine erfolgreiche Authentifizierung simuliert und Sie werden zur angegebenen URL weitergeleitet. Durch Klicken auf die Schaltfläche Fehlgeschlagen wird ein erfolgloser Authentifizierungsversuch simuliert.
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.
Disclose Stripe to your customers
Stripe collects information on customer interactions with Elements to provide services to you, prevent fraud, and improve its services. This includes using cookies and IP addresses to identify which Elements a customer saw during a single checkout session. You’re responsible for disclosing and obtaining all rights and consents necessary for Stripe to use data in these ways. For more information, visit our privacy center.