Bestellungen abwickelnBeta
Erfahren Sie, wie Sie Bestellungen ausführen, nachdem ein Kunde/eine Kundin mit Custom Checkout bezahlt hat.
Private Vorschau
The Custom Checkout integration is in private preview. To request access, klicken Sie hier.
Wenn Sie eine Zahlung erhalten, müssen Sie möglicherweise Maßnahmen ergreifen, um Ihren Kundinnen/Kunden das zur Verfügung zu stellen, wofür sie bezahlt haben. Beispielsweise müssen Sie ihnen möglicherweise Zugang zu einer Dienstleistung gewähren oder ihnen physische Waren zusenden. Dieser Vorgang wird als Ausführung bezeichnet und Sie haben zwei Möglichkeiten, dieses Verfahren mit abzuwickeln:
- Manuell: Sie können Bestellungen anhand der Informationen, die Stripe Ihnen zur Verfügung stellt, manuell ausführen. Sie können beispielsweise das Dashboard überwachen, Zahlungsbenachrichtigungs-E-Mails prüfen oder Berichte einsehen und dann Bestellungen ausführen.
- Automatisch: Sie können ein automatisches Ausführungssystem entwickeln. Recommended
Die erste Option eignet sich für kleine Mengen oder experimentelle Projekte, aber für die meisten Situationen empfehlen wir die Automatisierung der Ausführung. Im restlichen Teil dieses Leitfadens erfahren Sie, wie Sie ein automatisches Ausführungssystem entwickeln können.
Automatische Ausführung
Das nachfolgend beschriebene automatische Ausführungssystem nutzt eine Kombination aus Webhooks und einer Weiterleitung zu Ihrer Website, um die Ausführung auszulösen. Sie müssen Webhooks verwenden, um sicherzustellen, dass die Ausführung bei jeder Zahlung erfolgt. Die Weiterleitung ermöglicht Ihren Kundinnen/Kunden den Zugriff auf Dienstleistungen oder Ausführungsdetails unmittelbar nach der Zahlung.
Ausführungsfunktion erstellenServerseitig
Erstellen Sie eine Funktion auf Ihrem Server, um erfolgreiche Zahlungen durchzuführen. Webhooks lösen diese Funktion aus und werden aufgerufen, wenn Kundinnen/Kunden nach Abschluss des Bezahlvorgangs zu Ihrer Website weitergeleitet werden. In diesem Leitfaden wird diese Funktion als fulfill_
bezeichnen. Sie können die Funktion aber beliebig benennen.
Ihre fulfill_
-Funktion muss folgende Bedingungen erfüllen:
- Korrekte Handhabung von mehrfachen Aufrufen mit der gleichen Checkout-Sitzungs-ID.
- Akzeptieren Sie die ID einer Checkout-Sitzung als Argument.
- Rufen Sie die Checkout-Sitzung von der API ab, wobei die Eigenschaft line_items erweitert ist.
- Überprüfen Sie die Eigenschaft payment_status, um zu ermitteln, ob eine Ausführung erforderlich ist.
- Führen Sie die Ausführung der Einzelposten durch.
- Zeichnen Sie den Ausführungsstatus für die bereitgestellte Checkout-Sitzung auf.
Verwenden Sie den folgenden Code als Ausgangspunkt für Ihre fulfill_
-Funktion. Die TODO
-Kommentare geben alle Funktionen an, die Sie implementieren müssen.
Notiz
In den folgenden Codeausschnitten kann der Name der fulfill_
-Funktion je nach gewählter Sprache fulfillCheckout
oder FulfillCheckout
sein, sie stellen aber alle dieselbe Funktion dar.
Notiz
Wenn eine Checkout-Sitzung viele Einzelposten enthält, verwenden Sie die automatische Paginierung mit der API für Checkout-Posten, um sämtliche Posten abzurufen.
Abhängig von den von Ihnen akzeptierten Zahlungsmethoden und Ihren geschäftlichen Anforderungen sollten Sie Ihre fulfill_
-Funktion wie folgt ausführen:
- Stellen Sie Zugang zu Dienstleistungen bereit.
- Lösen Sie den Warenversand aus.
- Speichern Sie eine Kopie der Zahlungsangaben und der Einzelposten in Ihrer eigenen Datenbank.
- Senden Sie dem Kunden/der Kundin einen nutzerdefinierten E-Mail-Beleg, wenn Sie die Zahlungsbelege von Stripe nicht aktiviert haben.
- Gleichen Sie die Posten und die gekauften Mengen ab, wenn Sie Kundinnen/Kunden gestatten, die Mengen während des Bezahlvorgangs anzupassen.
- Aktualisieren Sie Inventar oder Bestandsaufzeichnungen.
Ereignis-Handler für Zahlungen erstellenServerseitig
Um die Ausführung auszulösen, erstellen Sie einen Webhook-Ereignis-Handler, um Zahlungsereignisse zu überwachen und Ihre Funktion fulfill_
auszulösen.
Wenn jemand Sie bezahlt, erstellt er/sie das ein Ereignis des Typs checkout.
. Richten Sie auf Ihrem Server einen Endpoint ein, um diese Ereignisse zu akzeptieren, zu verarbeiten und den Empfang zu bestätigen.
Einige Zahlungsmethoden sind nicht sofort verfügbar, zum Beispiel ACH-Lastschriften und andere Banküberweisungen. Die Gelder sind nicht sofort verfügbar, wenn der Bezahlvorgang abgeschlossen ist. Verzögerte Zahlungsmethoden generieren das Ereignis checkout.
, wenn die Zahlung später erfolgreich ist.
Notiz
Der im folgenden Code angezeigte Webhook-Geheimschlüssel (whsec_
) stammt entweder von der Stripe-CLI oder von Ihrem Webhook-Endpoint. Sie können die Stripe-CLI für lokale Tests verwenden und Stripe verwendet einen Webhook-Endpoint, um Ereignisse an Ihren Handler zu senden, wenn dieser auf einem Server ausgeführt wird. Im nächsten Abschnitt finden Sie weitere Details.
Möglicherweise möchten Sie auch fehlgeschlagene checkout.
-Ereignisse überwachen und verarbeiten. Sie können beispielsweise eine E-Mail an Ihre Kundinnen/Kunden senden, wenn eine verzögerte Zahlung fehlschlägt.
Ihren Ereignis-Handler lokal testen
Am schnellsten lässt sich Ihr Webhook-Ereignis-Handler mit der Stripe-CLI entwickeln und testen. Wenn Sie die Stripe-CLI nicht haben, befolgen Sie die Installationsanleitung, um zu beginnen.
Wenn die Stripe-CLI installiert ist, können Sie Ihren Ereignis-Handler lokal testen. Führen Sie Ihren Server aus (zum Beispiel auf localhost:4242
) und führen Sie dann den Befehl stripe listen aus, damit die Stripe-CLI Ereignisse an Ihren lokalen Server weiterleitet:
stripe listen --forward-to localhost:4242/webhook Ready! Your webhook signing secret is 'whsec_<REDACTED>' (^C to quit)
Fügen Sie den Webhook-Geheimschlüssel (whsec_
) zu Ihrem Code für die Ereignisbehandlung hinzu, und testen Sie dann die Ausführung, indem Sie den Bezahlvorgang als Kunde/Kundin durchlaufen.
Überprüfen Sie nach Abschluss der Zahlung Folgendes:
- In Ihrer Befehlszeile, in der
stripe listen
ausgeführt wird, wird das an Ihren lokalen Server weitergeleitete Ereignischeckout.
angezeigt.session. completed - Ihre Serverprotokolle zeigen die erwartete Ausgabe Ihrer
fulfill_
-Funktion.checkout
Einen Webhook-Endpoint erstellen
Nachdem Sie einen lokalen Test durchgeführt haben, richten Sie Ihren Webhook-Handler auf Ihrem Server ein und starten ihn. Als Nächstes erstellen Sie einen Webhook-Endpoint, um die checkout.
-Ereignisse an Ihren Server zu senden, und testen Sie dann den Bezahlvorgang erneut.
Ausführung auf Ihrer Zielseite auslösenEmpfohlen
Die Überwachung von Webhooks ist erforderlich, um sicherzustellen, dass Sie immer die Ausführung für jede Zahlung auslösen, aber Webhooks können manchmal verzögert werden. Um Ihren Zahlungsablauf zu optimieren und eine sofortige Ausführung zu gewährleisten, wenn Ihr Kunde/Ihre Kundin anwesend ist, lösen Sie die Ausführung auch von Ihrer Zielseite aus. Sie können die Startseite konfigurieren, indem Sie return_url beim Erstellen der Checkout-Sitzung übergeben oder returnUrl an confirm
im Frontend übergeben.
Verwenden Sie die ID der Checkout-Sitzung aus der URL, um Folgendes zu tun:
- Wenn Ihr Server eine Anfrage für Ihre Checkout-Zielseite erhält, extrahieren Sie die ID der Checkout-Sitzung aus der URL.
- Führen Sie Ihre
fulfill_
-Funktion` mit der angegebenen ID aus.checkout - Rendern Sie die Seite, nachdem der Auführungversuch abgeschlossen ist.
Wenn Sie Ihre Zielseite rendern, können Sie Folgendes anzeigen:
- Details des Ausführungsvorgangs.
- Links oder Informationen zu Dienstleistungen, auf die der Kunde/die Kundin nun Zugriff hat.
- Versand- oder Logistikdetails für physische Waren.
Webhooks sind erforderlich
Sie können sich nicht darauf verlassen, dass ie Ausführung nur von Ihrer Checkout-Zeilseite aus ausgelöst wird, da Ihre Kundinnen und Kunden diese Seite nicht garantiert besuchen. Zum Beispiel kann jemand erfolgreich bezahlen und wird seine/ihre Internetverbindung unterbrochen, bevor Ihre Zielseite geladen wird.
Richten Sie einen Webhook-Ereignis-Handler ein, damit Stripe Zahlungsereignisse direkt an Ihren Server sendet und den Client vollständig umgeht. Webhooks sind der zuverlässigste Weg, um zu wissen, wann Sie bezahlt werden. Wenn die Zustellung des Webhook-Ereignisses fehlschlägt, versuchen wir es mehrmals.