Nutzerdefinierte Bezahlseite erstellen, die Link enthält
In diesem Leitfaden erfahren Sie, wie Sie Zahlungen mit Link mit der Payment Intents API und entweder dem Payment Element oder dem Link Authentication Element annehmen können.
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, Zahlungen von Kundinnen und Kunden einzuziehen, darzustellen und Abbuchungsversuche sowie Änderungen des Zahlungsstatus während des gesamten Vorgangs zu verfolgen.
Sie können Zahlungen mit Link annehmen, indem Sie die Informationen verwenden, die Ihre Kundinnen/Kunden in der Link-App gespeichert haben. Da Sie den Link-payment_method.type
nicht verwenden, ist der für die Zahlung aufgeführte payment_method.type
card
, wenn Sie eine Zahlung von einem Kunden/einer Kundin erhalten, der/die Link im Payment Element verwendet.
Um den Link payment_method.type
zu verwenden, aktualisieren Sie Ihre Integration, um payment_method_types
auf link
festzulegen. Alternativ können Sie automatic_payment_methods
auf enabled
setzen, damit Stripe Ihren Kundinnen und Kunden die relevantesten Zahlungsmethoden dynamisch anzeigt.
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 benutzerdefiniertes 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 Kund/innen 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_url
weiterleitet.
Standardmäßig erfolgt bei Karten- und Bankzahlungen eine direkte Weiterleitung an die return_url
, wenn eine Zahlung erfolgreich ist. Wenn Sie keine Weiterleitung an die return_url
wünschen, können Sie das Verhalten mithilfe von if_required
ändern.
Die return_url
entspricht einer Seite auf Ihrer Website, die den Zahlungsstatus des PaymentIntent
liefert, wenn Sie die Rückgabeseite rendern. Wenn Stripe den/die Kund/in an die return_url
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_url
bereitstellen. Diese Abfrageparameter bleiben während des Weiterleitungsprozesses bestehen.
Parameter | Beschreibung |
---|---|
payment_intent | Die eindeutige ID für den PaymentIntent |
payment_intent_client_secret | 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_intent.succeeded
-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_failed ü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.