Zweistufige Bestätigung erstellen
Fügen Sie eine optionale Überprüfungsseite hinzu oder führen Sie Validierungen durch, nachdem Nutzer/innen ihre Zahlungsdaten eingegeben haben.
Während wir für die meisten Szenarien die Standard-Integration empfehlen, können Sie mit dieser Integration einen zusätzlichen Schritt in Ihren Bezahlvorgang einfügen. So können Sie andere Aktionen durchführen, bevor Sie die Bestellung bestätigen, z. B. Folgende.
- Der Kundin / dem Kunden seine/ihre Bestellung zur Überprüfung vorlegen.
- Zusätzliche Validierungen ausführen.
- Steuer wird berechnet und der fällige Gesamtbetrag wird aktualisiert.
Stripe einrichten
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API über Ihre Anwendung:
Zahlungsmethoden aktivieren
Vorsicht
Dieser Integrationspfad unterstützt weder BLIK noch vorab autorisierte Lastschriften, die das Automated Clearing Settlement System (ACSS) verwenden.
Zeigen Sie Ihre Einstellungen für Zahlungsmethoden an und aktivieren Sie die Zahlungsmethoden, die Sie unterstützen möchten. Sie müssen mindestens eine Zahlungsmethode aktiviert haben, um einen PaymentIntent zu erstellen.
Standardmäßig aktiviert Stripe Karten und andere gängige Zahlungsmethoden, mit denen Sie mehr Kundinnen und Kunden erreichen können. Wir empfehlen jedoch, zusätzliche Zahlungsmethoden zu aktivieren, die für Ihr Unternehmen und Ihre Kundschaft relevant sind. Weitere Informationen zur Unterstützung von Produkten und Zahlungsmethoden finden Sie auf der Seite Unterstützte Zahlungsmethoden und der Preisseite für Gebühren.
Zahlungsdetails erfassenClient-seitig
Verwenden Sie das Payment Element, um in einem iFrame erfasste Zahlungsinformationen sicher über eine HTTPS-Verbindung an Stripe zu senden.
Widersprüchliche iFrames
Vermeiden Sie es, das Payment Element in einem anderen iFrame zu platzieren, da es im Widerspruch zu Zahlungsmethoden steht, die eine Weiterleitung zu einer anderen Seite zur Zahlung erfordern.
Die Adresse Ihrer Bezahlseite muss mit https://
rather beginnen, nicht mit http://
for, damit Ihre Integration funktioniert. Sie können Ihre Integration ohne HTTPS testen. Denken Sie jedoch daran, dieses zu aktivieren, wenn Sie bereit sind, Live-Zahlungen zu akzeptieren.
Das Payment Element rendert ein dynamisches Formular, mit dem Ihr/e Kund/in eine Zahlungsmethode auswählen kann. Das Formular erfasst automatisch alle notwendigen Zahlungsdetails für die vom Kunden/von der Kundin ausgewählte Zahlungsmethode.
Sie können das Payment Element an das Design Ihrer Website anpassen, indem Sie beim Erstellen des Elements
-Anbieters das Erscheinungs-Objekt an options
übergeben.
Adressen einholen
Standardmäßig erfasst das Payment Element nur die erforderlichen Angaben zur Rechnungsadresse. Einige Verhaltensweisen, wie z. B. die Berechnung der Steuer oder die Eingabe der Versanddaten, erfordern die vollständige Adresse Ihrer Kundin/Ihres Kunden. Sie können Folgendes tun:
- Verwenden Sie das Address Element, um die Vorteile der Funktionen der automatischen Vervollständigung und Lokalisierung zu nutzen, um die vollständige Adresse Ihrer Kundin oder Ihres Kunden zu erfassen. Dies trägt dazu bei, eine möglichst genaue Steuerberechnung zu gewährleisten.
- Erfassen Sie Adressdaten mit Ihrem eigenen benutzerdefinierten Formular.
OptionalAnpassen des LayoutsClient-seitig
Sie können das Layout des Payment Element (Akkordeon oder Registerkarten) an Ihre Checkout-Nutzeroberfläche anpassen. Weitere Informationen zu den einzelnen Eigenschaften finden Sie unter elements.create.
Das folgende Bild zeigt dasselbe Payment Element, das mit unterschiedlichen Layout-Konfigurationen gerendert wurde.

Layouts für Payment Element
OptionalPassen Sie das Erscheinungsbild anClient-seitig
Nachdem Sie das Payment Element zu Ihrer Seite hinzugefügt haben, können Sie das Erscheinungsbild an Ihr Design anpassen. Weitere Informationen zum Anpassen des Payment Element finden Sie unter Elements Appearance API.

Payment Element anpassen
OptionalZahlungsmethoden von Kundinnen und Kunden speichern und abrufen
Sie können das Payment Element so konfigurieren, dass die Zahlungsmethoden Ihrer Kundinnen und Kunden für die zukünftige Verwendung gespeichert werden. In diesem Abschnitt erfahren Sie, wie Sie die neue Funktion für gespeicherte Zahlungsmethoden integrieren, mit der das Payment Element Folgendes tun kann:
- Käufer/innen um Zustimmung zur Speicherung einer Zahlungsmethode bitten
- Zahlungsmethoden speichern, wenn Käufer/innen zustimmen
- Gespeicherte Zahlungsmethoden für zukünftige Käufe anzeigen
- Aktualisieren Sie verlorene oder abgelaufene Karten automatisch, wenn Käufer/innen sie ersetzen

Zahlungsmethoden speichern.

Verwenden Sie eine zuvor gespeicherte Zahlungsmethode erneut.
Speichern der Zahlungsmethode im Payment Element aktivieren
Erstellen Sie eine CustomerSession auf Ihrem Server, geben die Kunden-ID an und aktiveren die payment_element-Komponente für Ihre Sitzung. Konfigurieren Sie, welche Funktionen der gespeicherten Zahlungsmethode Sie aktivieren möchten. Durch Aktivieren von payment_method_save wird beispielsweise ein Kontrollkästchen angezeigt, über das Kundinnen und Kunden ihre Zahlungsdetails für die zukünftige Nutzung speichern können.
Sie können setup_
für einen PaymentIntent oder eine Checkout-Sitzung angeben, um das Standardverhalten zum Speichern von Zahlungsmethoden außer Kraft zu setzen. Dadurch wird sichergestellt, dass die Zahlungsmethode automatisch für die zukünftige Verwendung gespeichert wird, auch wenn der Kunde/die Kundin sie nicht explizit speichert.
Vorsicht
Wenn Käufer/innen ihre gespeicherten Zahlungsmethoden entfernen dürfen, indem sie payment_method_remove aktivieren, wirkt sich dies auf Abonnements aus, die mit dieser Zahlungsmethode abgerechnet werden. Durch das Entfernen der Zahlungsmethode wird die PaymentMethod von diesem Kunden/dieser Kundin getrennt.
Ihre Elements-Instanz verwendet das Client-Geheimnis der CustomerSession, um auf die gespeicherten Zahlungsmethoden dieses Kunden/dieser Kundin zuzugreifen. Umgang mit Fehlern, wenn Sie die CustomerSession korrekt erstellen. Wenn ein Fehler auftritt, müssen Sie das Client-Geheimnis der CustomerSession nicht für die Elements-Instanz bereitstellen, da dies optional ist.
Erstellen Sie die Elements-Instanz mit dem Client-Geheimnis der CustomerSession. Verwenden Sie dann die Elements-Instanz, um ein Payment Element zu erstellen.
// Create the CustomerSession and obtain its clientSecret const res = await fetch("/create-customer-session", { method: "POST" }); const { customer_session_client_secret: customerSessionClientSecret } = await res.json(); const elementsOptions = { mode: 'payment', amount: 1099, currency: 'usd', customerSessionClientSecret, // Fully customizable with appearance API. appearance: {/*...*/}, }; // Set up Stripe.js and Elements to use in checkout form, passing the client secret // and CustomerSession's client secret obtained in a previous step const elements = stripe.elements(elementsOptions); // Create and mount the Payment Element const paymentElementOptions = { layout: 'accordion'}; const paymentElement = elements.create('payment', paymentElementOptions); paymentElement.mount('#payment-element');
Bei der Bestätigung der PaymentIntent steuert Stripe.js automatisch die Einstellung setup_future_usage für den PaymentIntent und allow_redisplay für die PaymentMethod, je nachdem, ob die Kundin/der Kunde das Kontrollkästchen aktiviert hat, um die Zahlungsdetails zu speichern.
Erneute Erfassung der CVC erzwingen
Wenn Sie PaymentIntents verwenden, geben Sie optional require_
an, sowohl beim Erstellen des PaymentIntent als auch beim Erstellen von Elements. Dadruch müssen Kundinnen und Kunden ihre Prüfziffer/CVC zwingend erneut eingeben, wenn sie eine Kartenzahlung tätigen.
Auswahl einer gespeicherten Zahlungsmethode erkennen
Um dynamische Inhalte zu steuern, wenn eine gespeicherte Zahlungsmethode ausgewählt wird, überwachen Sie das change
-Ereignis des Payment Element, das automatisch mit der ausgewählten Zahlungsmethode ausgefüllt wird.
paymentElement.on('change', function(event) { if (event.value.payment_method) { // Control dynamic content if a saved payment method is selected } })
OptionalOptionen für zusätzliche ElementeClient-seitig
Das Elements-Objekt akzeptiert zusätzliche Optionen, die die Zahlungserfassung beeinflussen. Basierend auf den angegebenen Optionen zeigt das Payment Element die verfügbaren Zahlungsmethoden an, die Sie aktiviert haben. Erfahren Sie mehr über die Unterstützung von Zahlungsmethoden.
Eigentum | Typ | Beschreibung | Erforderlich |
---|---|---|---|
mode |
| Gibt an, ob das Payment Element mit einem PaymentIntent, SetupIntent oder Abonnement verwendet wird. | Ja |
currency | string | Die Währung des Betrags, der dem Kunden/der Kundin berechnet werden soll. | Ja |
amount | number | Der Betrag, der dem Kunden/der Kundin in Rechnung gestellt werden soll, angezeigt in Apple Pay, Google Pay oder BNPL-Nutzeroberflächen. | Für den Modus payment und subscription |
setupFutureUsage |
| Gibt an, dass Sie beabsichtigen, zukünftige Zahlungen mit den vom Payment Element erfassten Zahlungsdaten zu tätigen. | Nein |
captureMethod |
| Steuert, wann die Gelder vom Kundenkonto erfasst werden. | Nein |
onBehalfOf | string | Nur Connect. Die Stripe-Konto-ID, die das Unternehmen des Datensatzes ist. Weitere Informationen dazu, ob diese Option für Ihre Integration relevant ist, finden Sie unter Use cases. | Nein |
paymentMethodTypes | string[] | Eine Liste der zu rendernden Zahlungsmethodentypen. Sie können dieses Attribut weglassen, um Ihre Zahlungsmethoden im Stripe-Dashboard zu verwalten. | Nein |
paymentMethodConfiguration | string | Die Konfiguration der Zahlungsmethode, die bei der Verwaltung Ihrer Zahlungsmethoden im Stripe-Dashboard verwendet werden soll. Wenn keine Angabe gemacht wird, wird Ihre Standardkonfiguration verwendet. | Nein |
paymentMethodCreation | manual | Ermöglicht die Erstellung von PaymentMethods aus der Elements-Instanz mit stripe.createPaymentMethod. | Nein |
paymentMethodOptions | {us_ | Verifizierungsoptionen für die Zahlungsmethode us_ . Akzeptiert dieselben Verifizierungsmethoden wie Payment Intents. | Nein |
paymentMethodOptions | {card: {installments: {enabled: boolean}}} | Ermöglicht die ggf. manuelle Aktivierung der Nutzeroberfläche zur Auswahl des Karten-Ratenzahlungsplans, wenn Sie Ihre Zahlungsmethoden nicht im Stripe-Dashboard verwalten. Sie müssen mode='payment' festlegen und paymentMethodTypes explizit angeben. Andernfalls wird ein Fehler ausgelöst. Nicht kompatibel mit paymentMethodCreation='manual' . | Nein |
ConfirmationToken erstellenClientseitig
createPaymentMethod mit einer Legacy-Implementierung verwenden
Wenn Sie eine Legacy-Implementierung nutzen, verwenden Sie möglicherweise die Informationen von stripe.
, um Zahlungen auf dem Server zu finalisieren. Wir empfehlen Ihnen, diesen Leitfaden zu befolgen, um auf Bestätigungstoken umzustellen. Sie können aber auch weiterhin auf unsere alte Dokumentation zum Thema Zweistufige Bestätigung erstellen zuzugreifen.
Wenn der Kunde/die Kundin Ihr Zahlungsformular absendet, rufen Sie stripe.createConfirmationToken auf, um ein ConfirmationToken zu erstellen, das zur zusätzlichen Validierung oder als zusätzliche Geschäftslogik vor der Bestätigung an Ihren Server gesendet wird. Sie können das Feld payment_
überprüfen, um die zusätzliche Logik auszuführen.
Details der Zahlungs auf der Bestätigungsseite anzeigen
Zu diesem Zeitpunkt haben Sie alle Informationen, die Sie zum Rendern der Bestätigungsseite benötigen. Rufen Sie den Server auf, um die erforderlichen Informationen zu erhalten und die Bestätigungsseite entsprechend zu rendern.
OptionalSteuern vor Bezahlvorgang berechnenServerseitig
Das Payment Element berechnet Steuern nicht standardmäßig. Verwenden Sie die Tax API, um die für die Transaktion geschuldete Steuer zu berechnen.
Notiz
Um die Steuer im Payment Element zu berechnen, müssen Sie zunächst Folgendes tun:
Aktualisieren Sie die Funktion summarizePaymentDetails
, um eine Steuerberechnung zu erstellen, die auf der Rechnungsadresse des Kunden basiert, die im ConfirmationToken zurückgegeben wurde.
function summarizePaymentDetails(confirmationToken) { // Use confirmationToken.payment_method_preview to derive the applicable summary fields for your UI }
function summarizePaymentDetails(confirmationToken) { tax_calculation = await stripe.tax.calculations.create({ currency: 'usd', line_items: [ { amount: 1000, reference: 'L1', }, ], customer_details: { // Use ConfirmationToken's address for TaxCalculation address: confirmationToken.paymentMethodPreview.billingDetails.address, address_source: 'shipping', }, });
Aktualisieren Sie die Steuerberechnung, dass sie den amount_
enthält, welcher dem Abrechnungsbetrag zuzüglich der Steuer entspricht. So zeigen Sie der Kundschaft den zu zahlenden Gesamtbetrag.
return { type: confirmationToken.payment_method_preview.type, // Add other values as needed here };
return { type: confirmationToken.payment_method_preview.type, // Add any other values from TaxCalculation for your display purposes. For example, you can use [tax_breakdown](/tax/custom#tax-breakdowns) to display what tax was applied amount_total: tax_calculation.amount_total, tax_calculation_id: tax_calculation.id // Add other values as needed here };
PaymentIntent erstellenServerseitig
Benutzerdefinierte Geschäftslogik unmittelbar vor der Zahlungsbestätigung ausführen
Navigieren Sie zu Schritt 5 im Leitfaden zum Abschließen von Zahlungen, um Ihre nutzerdefinierte Geschäftslogik unmittelbar vor der Zahlungsbestätigung auszuführen. Führen Sie andernfalls die folgenden Schritte für eine einfachere Integration aus, die stripe.
auf dem Client verwendet, um die Zahlung zu bestätigen und alle nächsten Aktionen abzuwickeln.
Wenn die Kundin/der Kunde Ihr Zahlungsformular absendet, erstellen Sie einen PaymentIntent auf Ihrem Server mit den aktivierten Feldern für Betrag
und Währung
.
Geben Sie den Wert des Client-Geheimnisses an Ihren Client zurück, den Stripe.js zum Abschließen der Zahlung verwenden kann.
Das folgende Beispiel enthält kommentierten Code zur Veranschaulichung der optionalen Steuerberechnung.
Zahlung an Stripe sendenClientseitig
Verwenden Sie stripe.confirmPayment, um die Zahlung mit den Angaben aus dem Payment Element abzuschließen.
Geben Sie im Parameter confirmation_
die ID des ConfirmationToken an, den Sie auf der vorherigen Seite erstellt haben und der die Zahlungsinformationen enthält, die vom Payment Element erfasst wurden.
Geben Sie eine return_url für diese Funktion an, um anzugeben, wohin Stripe den/die Nutzer/in nach Abschluss der Zahlung weiterleitet. Ihre Nutzer/innen werden möglicherweise zunächst an eine Zwischenwebsite, z. B. eine Bankautorisierungsseite, weitergeleitet, bevor sie zur return_
weitergeleitet werden. Bei Kartenzahlungen erfolgt die Weiterleitung zur return_
sofort, wenn eine Zahlung erfolgreich ist.
Wenn Sie bei Kartenzahlungen nach Abschluss der Zahlung keine Weiterleitung wünschen, können Sie redirect auf if_
festlegen. Dadurch werden nur Kundinnen/Kunden weitergeleitet, die mit auf Weiterleitung basierenden Zahlungsmethoden bezahlen.
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.