Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
Ü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
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-App-Elements
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
    Übersicht
    Zahlungen für bestehende Kundinnen/Kunden
    Eine Zahlung separat autorisieren und einziehen
    Zweistufigen Bezahlvorgang erstellen
    Zahlungsdetails erfassen, bevor Sie einen Intent erstellen
    Zahlungen auf dem Server abschließen
    Bestellungen per Post und Telefon entgegennehmen (MOTO)
    Karten in den USA und Kanada
    Kartenangaben an API-Endpoints von Drittanbietern weiterleiten
    Zahlungsposten
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Mehr als Zahlungen
Unternehmensgründung
Krypto
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
StartseiteZahlungenCustom payment flows

Zahlungen für bestehende Kundinnen/Kunden

Erfahren Sie, wie Sie eine bestehende Zahlungsmethode belasten, während ein Kunde/eine Kundin On-Session ist.

Eine Bezahlvorgang ermöglicht es Käuferinnen und Käufern, ihre Zahlungen einzugeben. Wenn der/die Käufer/in ein/e bestehende/r Kunde/Kundin ist, können Sie den Bezahlvorgang so konfigurieren, dass die Angaben mit einer der gespeicherten Karten des Kunden/der Kundin vorausgefüllt werden. Bei der Bezahlvorgangs-Sitzung werden bis zu 50 gespeicherte Karten angezeigt, mit denen der Kunde zahlen kann.

Mit einer gespeicherten Karte zahlen

Checkout-Sitzung erstellen
Serverseitig

Checkout unterstützt die Wiederverwendung vorhandener Kundenobjekte mit customer-Parameter. Bei der Wiederverwendung bestehender Kundinnen/Kunden werden alle von Checkout erstellten Objekte, wie Payment Intents und Subscriptions, diesem Kundenobjekt zugeordnet.

Erstellen Sie von Ihrem Server aus eine Checkout-Sitzung und setzen Sie den ui_mode-Endpoint auf embedded.

Um Kundinnen/Kunden zu einer nutzerdefinierten Seite zurückzuleiten, die Sie auf Ihrer Website hosten, geben Sie die URL dieser Seite im Parameter return_url an. Fügen Sie die Vorlagenvariable {CHECKOUT_SESSION_ID} in die URL ein, um den Status der Sitzung auf der Rückgabeseite abzurufen. Checkout ersetzt die Variable vor der Weiterleitung automatisch durch die Checkout-Sitzungs-ID.

Erfahren Sie mehr über das Konfigurieren der Rückgabeseite und andere Optionen zum Anpassen des Weiterleitungsverhaltens.

Nachdem Sie die Checkout-Sitzung erstellt haben, verwenden Sie das client_secret, das in der Antwort auf Checkout verbinden zurückgegeben wurde.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=payment \ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=1 \ -d customer=
{{CUSTOMER_ID}}
\ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}"

OptionalWeitere gespeicherte Zahlungsmethoden anzeigen
Serverseitig

Compliance

Sie sind für die Einhaltung aller geltenden Gesetze, Vorschriften und Netzwerkregeln verantwortlich, wenn Sie die Zahlungsdaten eines Kunden/einer Kundin speichern. Wenn Sie einem Kunden/einer Kundin zuvor genutzte Zahlungsmethoden für zukünftige Einkäufe anzeigen, stellen Sie sicher, dass Sie die Zustimmung eingeholt haben, um die Details der Zahlungsmethode für diese spezifische zukünftige Verwendung zu speichern.

Standardmäßig zeigen wir nur Zahlungsmethoden an, die so eingestellt sind, dass sie immer eine erneute Anzeige zulassen. Sie können andere zuvor gespeicherte Zahlungsmethoden anzeigen, indem Sie andere Werte zur erneuten Anzeige in die Checkout-Sitzung aufnehmen oder indem Sie die Einstellung allow_redisplay einer Zahlungsmethode auf always aktualisieren.

  • Verwenden Sie den allow_redisplay_filtersParameter, um anzugeben, welche gespeicherten Zahlungsmethoden in Checkout angezeigt werden sollen. Sie können jeden der gültigen Werte festlegen: limited, unspecified und always.

    Wenn Sie in Ihrer Checkout-Sitzung die Filterung für die erneute Anzeige angeben, wird das Standardverhalten außer Kraft gesetzt. Sie müssen daher den Wert always angeben, um die gespeicherten Zahlungsmethoden anzuzeigen.

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/checkout/sessions \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d mode=payment \ -d ui_mode=embedded \ -d "line_items[0][price]"=
    {{PRICE_ID}}
    \ -d "line_items[0][quantity]"=1 \ -d customer=
    {{CUSTOMER_ID}}
    \ --data-urlencode return_url="https://example.com/return?session_id={CHECKOUT_SESSION_ID}" \ -d "saved_payment_method_options[allow_redisplay_filters][0]"=always \ -d "saved_payment_method_options[allow_redisplay_filters][1]"=limited \ -d "saved_payment_method_options[allow_redisplay_filters][2]"=unspecified
  • Aktualisieren Sie die Zahlungsmethode, um den Wert allow_redisplay für einzelne Zahlungsmethoden festzulegen.
    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_methods/
    {{PAYMENT_METHOD_ID}}
    \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d allow_redisplay=always

Checkout verbinden
Clientseitig

Checkout ist als Teil von Stripe.js verfügbar. Nehmen Sie das Stripe.js-Skript in Ihre Seite auf, indem Sie es zum Header Ihrer HTML-Datei hinzufügen. Als Nächstes erstellen Sie einen leeren DOM-Knoten (Container), der zum Verbinden verwendet wird.

index.html
<head> <script src="https://js.stripe.com/basil/stripe.js"></script> </head> <body> <div id="checkout"> <!-- Checkout will insert the payment form here --> </div> </body>

Initialisieren Sie Stripe.js mit Ihrem veröffentlichbaren API-Schlüssel.

Erstellen Sie eine asynchrone fetchClientSecret-Funktion, die eine Anfrage an Ihren Server stellt, um eine Checkout-Sitzung zu erstellen und das Client-Geheimnis abzurufen. Übergeben Sie diese Funktion an options, wenn Sie die Checkout-Instanz erstellen:

index.js
// Initialize Stripe.js const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); initialize(); // Fetch Checkout Session and retrieve the client secret async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Initialize Checkout const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, }); // Mount Checkout checkout.mount('#checkout'); }

Checkout wird in einem iFrame gerendert, der Zahlungsdaten sicher über eine HTTPS-Verbindung an Stripe sendet.

Häufiger Fehler

Vermeiden Sie es, Checkout in einem anderen iFrame zu platzieren, da bei einigen Zahlungsmethoden die Weiterleitung an eine andere Seite zur Zahlungsbestätigung erforderlich ist.

Erscheinungsbild anpassen

Passen Sie Checkout an das Design Ihrer Website an, indem Sie Hintergrundfarbe, Schaltflächenfarbe, Rahmenradius und Schriftarten in den Branding-Einstellungen Ihres Kontos festlegen.

Checkout wird standardmäßig ohne externes Padding oder Ränder gerendert. Um Ihren gewünschten Rand hinzuzufügen (z. B. 16px auf allen Seiten), empfehlen wir, ein Container-Element zu verwenden.

Felder auf der Zahlungsseite vorab ausfüllen

Wenn alle folgenden Bedingungen zutreffen, füllt Checkout die Felder E-Mail, Name, Karte und Rechnungsadresse auf der Zahlungsseite automatisch mit den Angaben aus der gespeicherten Karte der Kundin/des Kunden aus:

  • Checkout befindet sich im Modus payment oder subscription. Im Modus setup wird das Vorausfüllen von Feldern nicht unterstützt.
  • Die Kundin/der Kunde verfügt über eine gespeicherte Karte. Checkout unterstützt nur das Vorabausfüllen von Kartenzahlungsmethoden.
  • Bei der gespeicherten Karte ist allow_redisplay auf always festgelegt oder Sie haben die Standardeinstellung für die Anzeige angepasst.
  • Die Zahlungsmethode beinhaltet billing_details, die vom Wert billing_address_collection der Checkout-Sitzung benötigt werden:
    • auto erfordert Werte für email, name und address[country]. Für Rechnungsadressen in den USA, Kanada und Großbritannien ist auch address[postal_code] erforderlich.
    • required erfordert Werte für email, name und alle address-Felder.

Wenn Ihre Kundin/Ihr Kunde mehrere Karten gespeichert hat, füllt Checkout die Kartendaten gemäß der folgenden Priorisierung aus:

  • Im payment-Modus füllt Stripe die Felder mit der zuletzt gespeicherten Karte der Kundin/des Kunden vorab aus.
  • Im subscription-Modus füllt Stripe die Standardzahlungsmethode der Kundin/des Kunden im Voraus aus, sofern es sich um eine Karte handelt. Andernfalls füllt Stripe die neueste gespeicherte Karte vorab aus.

Wenn Checkout eine Lieferadresse erfasst, füllt Checkout die Lieferadressfelder vorab aus, sofern die shipping.address dermKundin/des Kunden zu den unterstützten Ländern der Checkout-Sitzung gehört.

Damit Ihre Kundschaft gespeicherte Karten während eines Bezahlvorgangs entfernen kann, setzen Sie save_payment_method_options[payment_method_remove] auf aktiviert.

Zeitüberschreitung beim vorab Ausfüllen

Die vorausgefüllte Zahlungsmethode wird nach Erstellung der Checkout-Sitzung 30 Minuten lang angezeigt. Nach Ablauf wird die Zahlungsmethode aus Sicherheitsgründen nicht mehr vorab ausgefüllt, wenn dieselbe Checkout-Sitzung geladen wird.

Ereignisse nach der Zahlung verarbeiten
Serverseitig

Stripe sendet das Ereignis checkout.session.completed, wenn ein Kunde/eine Kundin eine Zahlung in der Checkout-Sitzung abschließt. Verwenden Sie das Webhook-Tool des Dashboards oder befolgen Sie die Webhook-Anleitung, um diese Ereignisse zu empfangen und zu verarbeiten. Dies kann zu Folgendem führen:

  • Senden Sie eine Bestellbestätigung per E-Mail an Ihre Kundinnen/Kunden.
  • Protokollieren Sie den Verkauf in einer Datenbank.
  • Starten Sie einen Versand-Workflow.

Überwachen Sie diese Ereignisse, anstatt darauf zu warten, dass Ihre Kundinnen/Kunden auf Ihre Website zurückgeleitet werden. Es ist unzuverlässig, die Ausführung nur über die Landingpage Ihrer Zahlungsseite auszulösen. Wenn Sie Ihre Integration so einrichten, dass sie asynchrone Ereignisse überwacht, können Sie verschiedene Arten von Zahlungsmethoden mit einer einzelnen Integration akzeptieren.

Weitere Informationen finden Sie in unserem Fulfillment-Leitfaden für Checkout.

Verarbeiten Sie die folgenden Ereignisse, wenn Sie Zahlungen mit Checkout einziehen:

EreignisBeschreibungAktion
checkout.session.completedWird gesendet, wenn ein Kunde/eine Kundin eine Checkout-Sitzung erfolgreich abschließt.Senden Sie den Kundinnen/Kunden eine Auftragsbestätigung und wickeln Sie die Bestellung ab.
checkout.session.async_payment_succeededWird gesendet, wenn eine Zahlung mit einer Zahlungsmethode mit Verzögerung, wie z. B. ACH-Lastschriftverfahren, erfolgreich ausgeführt wird.Senden Sie den Kundinnen/Kunden eine Auftragsbestätigung und wickeln Sie die Bestellung ab.
checkout.session.async_payment_failedWird gesendet, wenn eine Zahlung mit einer Zahlungsmethode mit Verzögerung, wie z. B. ACH-Lastschriftverfahren, fehlschlägt.Benachrichtigen Sie die Kundin/den Kunden über den Fehler und bitten Sie ihn/sie, für einen erneuten Zahlungsversuch zur Sitzung zurückzukehren.
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