Zahlungsdetails einziehen, bevor Sie einen Intent erstellen
Erstellen Sie eine Integration, in der Sie das Payment Element rendern können, bevor Sie eine PaymentIntent oder SetupIntent erstellen.
Mit dem Payment Element können Sie mit einer einzigen Integration mehrere Zahlungsarten akzeptieren. In dieser Integration erfahren Sie, wie Sie einen nutzerdefinierten Zahlungsablauf erstellen, bei dem Sie das Payment Element rendern, den PaymentIntent erstellen und die Zahlung im Browser des Käufers/der Käuferin bestätigen. Wenn Sie die Zahlung stattdessen vom Server aus bestätigen möchten, lesen Sie Zahlungen auf dem Server abschließen.
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:
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 } })
OptionalZahlungsdetails dynamisch aktualisierenClient-seitig
Wenn der/die Kund/in Aktionen durchführt, die die Zahlungsdetails ändern (zum Beispiel das Anwenden eines Rabattcodes), aktualisieren Sie die Elements-Instanz, um die neuen Werte widerzuspiegeln. Bei einigen Zahlungsmethoden, wie Apple Pay und Google Pay, wird der Betrag in der Nutzeroberfläche angezeigt. Stellen Sie daher sicher, dass er immer korrekt und aktuell ist.
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 |
OptionalConfirmationToken erstellen
Wenn Sie einen mehrseitigen Bezahlvorgang erstellen oder Angaben zur Zahlungsmethode erfassen möchten, bevor Sie zusätzliche Validierungen durchführen, lesen Sie Zwei-Schritte-Bezahlvorgang erstellen. Bei diesem Ablauf erstellen Sie ein ConfirmationToken auf dem Client, um Zahlungsdetails zu erfassen, und verwenden diese dann zum Erstellen eines PaymentIntent auf dem Server.
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 StripeClient-seitig
Verwenden Sie stripe.confirmPayment, um die Zahlung mit den Angaben aus dem Payment Element abzuschließen.
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 Zwischenwebsite, z. B. eine Bankautorisierungsseite, weitergeleitet, bevor sie zur return_
weitergeleitet werden. Bei Kartenzahlungen erfolgt die Weiterleitung bei erfolgreicher Zahlung sofort zur return_
.
Wenn Sie Kartenzahlungen nach Abschluss der Zahlung nicht weiterleiten möchten, können Sie redirect auf if_
festlegen. Dadurch werden nur Kundinnen/Kunden weitergeleitet, die mit weiterleitungsbasierten Zahlungsmethoden bezahlen.
OptionalEreignisse nach Zahlung verarbeiten
Stripe übermittelt ein payment_intent.succeeded-Ereignis, wenn die Zahlung abgeschlossen ist. Verwenden Sie im Dashboard einen Webhook oder eine Partnerlösung, um diese Ereignisse zu empfangen und Aktionen auszuführen (Versenden einer Bestellbestätigung per E-Mail an die Kund/innen, Erfassen des Verkaufs in einer Datenbank oder Einleiten des Versandablaufs).
Überwachen Sie diese Ereignisse, statt auf einen Callback vom Client zu warten. Auf dem Client könnte der Kunde/die Kundin das Browserfenster schließen oder die App beenden, bevor der Callback erfolgt ist und böswillige Clients könnten die Antwort manipulieren. Wenn Sie Ihre Integration so einrichten, dass asynchrone Ereignisse überwacht werden, hilft Ihnen dies auch dabei, in Zukunft mehr Zahlungsmethoden zu akzeptieren. Hier erhalten Sie Informationen zu den Unterschieden zwischen allen unterstützten Zahlungsmethoden.
Manuelles Bearbeiten von Ereignissen im Dashboard
Verwenden Sie das Dashboard, um Ihre Testzahlungen im Dashboard anzuzeigen, E-Mail-Belege zu senden, Auszahlungen zu bearbeiten oder fehlgeschlagene Zahlungen erneut zu versuchen.
Erstellen eines benutzerdefinierten Webhooks
Erstellen Sie einen benutzerdefinierten Webhook-Handler, um auf Ereignisse zu hören und eigene asynchrone Zahlungsabläufe zu implementieren. Testen und debuggen Sie Ihre Webhook-Integration lokal mit der Stripe CLI.
Integrieren einer vorgefertigten App
Bearbeiten Sie häufige Unternehmensereignisse, wie z. B.Automatisierung oderMarketing und Vertrieb, indem Sie eine Partneranwendung integrieren.