So verbinden Sie Stripe mit Shopify Flow
Stripe ist eine Zahlungsplattform. Sie sendet bei jeder Zahlung, Rückerstattung, Streitfall, Abonnementänderung und Rechnungsbuchung in Ihrem Konto einen Webhook. „Workflow Webhooks“ wandelt diesen Aufruf in einen „Shopify Flow“-Trigger um, sodass Ihr Shop darauf reagieren kann: einen Kunden kennzeichnen, eine Bestellnotiz hinzufügen, eine interne E-Mail versenden, ein Metafeld aktualisieren - alles, was Shopify Flow leisten kann.
Dieser Leitfaden legt den gesamten Ablauf fest - Stripe sendet, Workflow Webhooks empfängt und überprüft, Shopify Flow führt die Aktion aus -, wobei bei jeder Anfrage die HMAC-Signatur von Stripe überprüft wird, sodass ausschließlich Stripe Ihren Workflow auslösen kann.
Was Sie bauen können
- Markieren Sie einen Shopify-Kunden, der über einen Stripe-Checkout oder einen Zahlungslink bezahlt hat, damit Ihre Segmente synchron bleiben.
- Fügen Sie eine Notiz zu einer Bestellung hinzu und benachrichtigen Sie Ihr Team, sobald eine Reklamation eröffnet wird.
- Bitte benachrichtigen Sie die Mitarbeiter per E-Mail, wenn eine Abonnementzahlung fehlschlägt, damit jemand Kontakt aufnehmen kann, bevor der Kunde abwandert.
Typische Ereignisse, die gesendet werden sollten: payment_intent.succeeded, charge.refunded, charge.dispute.created, customer.subscription.deleted, invoice.payment_failed.
Bevor Sie beginnen
- Workflow Webhooks in Ihrem Shopify-Shop installiert.
- Shopify Flow installiert, die kostenlos im App Store unter Shopify erhältlich ist.
- Ein Stripe-Konto mit der Berechtigung, Webhooks zu erstellen.
Schritt 1 - Erstellen Sie den Webhook unter Workflow Webhooks
- Öffnen Sie „Workflow Webhooks“** -> „Webhooks“ -> „Webhook erstellen“** und vergeben Sie einen Namen, den Sie in Shopify Flow wiedererkennen, beispielsweise
Stripe events. - Wählen Sie unter „Authentifizierung“ die Option „HMAC“ aus.
- Wählen Sie unter „Signaturanbieter“ die Option „Stripe“ aus. Die App füllt die Felder „Header“, „Algorithmus“, „signiertes Payload“ und „Replay-Fenster“ automatisch für Sie aus - es sind keine weiteren Einstellungen erforderlich.
- Lassen Sie das Feld „Secret“ vorerst leer und klicken Sie auf „Speichern“. Kopieren Sie die auf der Seite angezeigte URL des Webhooks.
Informationen zu den anderen Authentifizierungsmodi finden Sie unter Authentifizierung, und unter Zuordnung der Payload-Daten und Flow-Variablen erfahren Sie, welche Felder an Shopify Flow übermittelt werden.

Schritt 2 - Fügen Sie den Endpunkt in Stripe hinzu
Öffnen Sie im Stripe-Dashboard den Menüpunkt „Entwickler“ -> „Webhooks“, fügen Sie einen Endpunkt mit der von Ihnen kopierten URL hinzu und wählen Sie die Ereignisse aus, die Sie senden möchten.
So finden Sie Ihr Stripe-Signaturgeheimnis
Webhook-Signaturschlüssel (whsec_...) aus dem Stripe-Dashboard -> Entwickler -> Webhooks.
In der Stripe-eigenen Dokumentation zu Webhook-Signaturen unter finden Sie den genauen Wortlaut sowie Screenshots für Ihr Konto.
Fügen Sie diesen Schlüssel in das Feld „Secret“ des Webhooks unter Workflow Webhooks ein und speichern Sie die Eingabe. Ab diesem Zeitpunkt wird jede Stripe-Übermittlung überprüft, bevor sie Shopify Flow erreicht.
Was hier überprüft wird
| Was | Wert |
|---|---|
| Signaturzeile | Stripe-Signature |
| Wo die Unterschrift steht | Im Wert v1 dieses Headers, der durch Kommas getrennte key=value-Paare enthält |
| Was wurde unterzeichnet? | {timestamp}.{body} |
| Unterschrift | HMAC-SHA256, hexadezimal kodiert |
| Zeitstempel | Der Wert t des Signatur-Headers, ausgedrückt in Unix-Sekunden |
| Wiedergabeschutz | Anfragen, deren signierter Zeitstempel mehr als 5 Minuten vom aktuellen Zeitpunkt entfernt ist, werden abgelehnt |
| Das Geheimnis | Wird als Klartext verwendet. Fügen Sie den Text genau so ein, wie er vom Absender angegeben wird. |
In der signierten Payload entspricht {body} dem rohen Request-Body, Byte für Byte, und {timestamp} dem oben genannten Zeitstempel.
Eine Anfrage, die eine dieser Bedingungen nicht erfüllt, wird mit dem Fehler 401 abgelehnt, unter Hintergrund und Fehlerbehebung protokolliert und löst keinen Workflow aus.
Schritt 3 - Erstellen Sie den Workflow Shopify Flow
- Erstellen Sie in „Shopify Flow“ einen Workflow und wählen Sie den Trigger „Workflow Webhooks“ aus.
- Klicken Sie auf „Ereignisse aufzeichnen“ und senden Sie anschließend ein Testereignis über Stripe (oder verwenden Sie die Funktion „Test senden“ unter Workflow Webhooks), damit Shopify Flow die Struktur Ihrer Daten erkennen kann.
- Jeder Webhook, den Sie besitzen, löst denselben Shopify Flow-Trigger aus. Fügen Sie daher eine erste Bedingung für die Webhook-ID hinzu, um diesen Workflow ausschließlich auf Stripe zu beschränken. Die ID wird auf der Webhook-Seite angezeigt.
- Fügen Sie Ihre Aktionen hinzu - taggen Sie einen Kunden, fügen Sie eine Notiz hinzu, versenden Sie eine interne E-Mail, aktualisieren Sie ein Metafeld.



Schritt 4 - Testen Sie das System von Anfang bis Ende
Lösen Sie ein echtes Ereignis in Stripe aus. Unter „Workflow Webhooks“ → „History“ sollten Sie den Aufruf mit dem Status „Success“ sehen. Falls die Signatur fehlerhaft war, erhalten Sie stattdessen einen Eintrag mit dem Status „Failed“ und dem entsprechenden Grund. Unter Überprüfung signierter Webhooks finden Sie Erläuterungen zum Signatur-Tester, der Ihnen genau anzeigt, welcher Schritt fehlgeschlagen ist.

Die Signatur stimmt nicht überein▾
In dieser Bestellung: das Geheimnis (die häufigste Ursache - ein zusätzliches Leerzeichen oder ein Schlüssel aus der falschen Umgebung), ob der Absender das Geheimnis eines anderen Endpunkts verwendet und ob irgendetwas zwischen Stripe und der App den Hauptteil umschreibt. Signaturen beziehen sich auf die Rohbytes, sodass ein Proxy, der JSON neu formatiert, diese ungültig macht. Der Signatur-Tester auf der Webhook-Seite zeigt den genauen Text an, der signiert wurde.
Bei jeder Anfrage erhalte ich den Fehlercode 401▾
Bitte überprüfen Sie, ob die Authentifizierung des Webhooks auf „HMAC“ eingestellt ist und der Stripe-Anbieter ausgewählt ist, ob das Geheimnis eingegeben wurde und ob Stripe die Daten genau an die URL sendet, wie sie in der App angezeigt wird, einschließlich des Codes am Ende.
Im Verlauf wird nichts angezeigt▾
Die Anfrage ist nie angekommen. Überprüfen Sie die URL in Stripe erneut und sehen Sie sich das Stripe-eigene Übermittlungsprotokoll an, um die erhaltene Antwort einzusehen. Ein 404 bedeutet, dass der Webhook falsch ist oder gelöscht wurde; ein 429 bedeutet, dass Sie das Aufruflimit Ihres Plans überschritten haben - siehe Pläne und Nutzung.
Der Workflow wird für die falschen Ereignisse ausgeführt▾
Jeder Webhook in Ihrem Shop löst denselben Shopify Flow-Trigger aus. Fügen Sie als ersten Schritt des Workflows eine Bedingung für die Webhook-ID hinzu oder schränken Sie die von Stripe gesendeten Ereignisse ein.
Anfragen schlagen mit der Fehlermeldung „Zeitstempel außerhalb der Toleranz“ fehl▾
Stripe versieht ein Ereignis mit einem Zeitstempel, und die App lehnt alles ab, was älter als 5 Minuten ist. Dies ist in der Regel auf ein Uhrzeitproblem auf der sendenden Seite zurückzuführen oder darauf, dass Stripe die Übermittlung erst viel später mit dem ursprünglichen Zeitstempel erneut versucht hat. Wiederholungsversuche derselben ursprünglichen Anfrage können nicht akzeptiert werden; bitten Sie Stripe, ein neues Ereignis zu senden.
Verwandte Themen
- Überprüfung signierter Webhooks - jeden Anbieter, den wir überprüfen, und wie ein Anbieter beschrieben wird, den wir nicht überprüfen.
- Zuordnung der Payload-Daten und Flow-Variablen - die richtigen Felder aus der Payload zu extrahieren und in Shopify Flow zu übertragen.
- Schutz vor doppelten Lieferungen - Was geschieht, wenn Stripe einen Zahlungsversuch erneut versucht?
- Hintergrund und Fehlerbehebung - das Protokoll jeder Anfrage, einschließlich der Wiedergabe.

