Sådan tilslutter du Lemon Squeezy til en »Shopify Flow«
Lemon Squeezy sælger digitale produkter og abonnementer og giver dig besked om hver eneste ordre, hvert abonnement og hver ændring af licensen. Workflow Webhooks omdanner denne besked til en »Shopify Flow«-udløser, så din butik kan reagere på den: tag en kunde, tilføj en ordrebemærkning, send en intern e-mail, opdater et metafelt - alt det, som Shopify Flow kan gøre.
Denne vejledning beskriver hele forløbet - Lemon Squeezy sender, Workflow Webhooks modtager og verificerer, Shopify Flow udfører - hvor Lemon Squeezys HMAC-signatur kontrolleres ved hver eneste anmodning, så kun Lemon Squeezy kan starte din arbejdsgang.
Hvad du kan bygge
- Tag den kunde, der har købt »Shopify« og samtidig har købt et digitalt produkt, så pakker og segmenter stemmer overens.
- Indtast det aktive licensniveau i kunderegistreringen som et metafelt.
- Send en e-mail til dit team, når en kunde, der for nylig har afgivet en ordre på Shopify, opsiger sit abonnement.
Typiske begivenheder, der skal sendes: order_created, subscription_created, subscription_cancelled, license_key_created.
Før du går i gang
- Workflow Webhooks installeret på din Shopify-butik.
- Shopify Flow installeret, som kan hentes gratis fra App Store på Shopify.
- En konto på Lemon Squeezy med tilladelse til at oprette webhooks.
Trin 1 - Opret webhook på Workflow Webhooks
- Åbn Workflow Webhooks -> Webhooks -> Opret webhook, og giv den et navn, du kan genkende i Shopify Flow, f.eks.
Lemon Squeezy events. - Vælg HMAC under »Autentificering«.
- Vælg »Lemon Squeezy« under »Signaturudbyder«. Appen udfylder selv overskriften, algoritmen, den signerede Payload og replay-vinduet for dig - der er ikke andet, du skal konfigurere.
- Lad feltet »Secret« være tomt foreløbig, og klik på »Gem«. Kopier den webhook-URL, der vises på siden.
Se Godkendelse for de øvrige godkendelsesmetoder, og Kortlægning af payload og strømningsvariabler for at vælge, hvilke felter der skal sendes til Shopify Flow.
Trin 2 - Tilføj endepunktet i Lemon Squeezy
I Lemon Squeezy skal du åbne Indstillinger -> Webhooks, tilføje en webhook med den URL, du har kopieret, vælge begivenhederne og indtaste en signeringsnøgle.
Sådan finder du din hemmelige kode til Lemon Squeezy
Den signeringsnøgle, du indtastede, da du oprettede webhooken.
Lemon Squeezys egen vejledning om webhook-signaturer indeholder den nøjagtige formulering og skærmbilleder til netop din konto.
Indsæt den hemmelige nøgle i feltet »Secret« i webhook’en på Workflow Webhooks og gem. Fra det øjeblik bliver hver eneste Lemon Squeezy-levering verificeret, inden den når frem til Shopify Flow.
Hvad dette kontrollerer
| Hvad | Værdi |
|---|---|
| Signaturhoved | X-Signature |
| Hvor underskriften er placeret | Hele værdien i overskriften |
| Hvad der er underskrevet | {body} |
| Underskrift | HMAC-SHA256, hex-kodet |
| Tidspunkt | Bruges ikke af denne afsender |
| Beskyttelse mod gentagelse | Ingen - denne afsender underskriver ikke et tidsstempel, så alle gyldige underskrifter forbliver gyldige |
| Hemmeligheden | Bruges som almindelig tekst. Indsæt den nøjagtigt, som afsenderen har angivet den |
I den signerede payload er {body} den rå anmodningstekst, byte for byte.
En anmodning, der ikke opfylder et af disse kriterier, afvises med fejlmeddelelsen »401«, registreres i »Historik og fejlfinding« og udløser aldrig en arbejdsgang.
Trin 3 - Opret arbejdsgangen »Shopify Flow«
- I »Shopify Flow« skal du oprette en arbejdsgang og vælge udløseren »Workflow Webhooks«.
- Tryk på »Optag begivenheder«, og send derefter en testbegivenhed fra Lemon Squeezy (eller brug »Send test« i »Workflow Webhooks«), så Shopify Flow kan lære dine datas struktur at kende.
- Hver eneste webhook, du ejer, udløser den samme Shopify Flow-trigger, så tilføj en første betingelse baseret på webhook-id’et for at sikre, at denne arbejdsgang kun gælder for Lemon Squeezy. Id’et vises på webhook-siden.
- Tilføj dine handlinger - tag en kunde, tilføj en note, send en intern e-mail, opdater et metafelt.



Trin 4 - Test det fra start til slut
Udløs en reel begivenhed i Lemon Squeezy. Under »Workflow Webhooks« → »History« bør du kunne se kaldet med status »Success«. Hvis signaturen var forkert, får du i stedet en fejlmeddelelse med årsagen, og på Bekræftelse af signerede webhooks finder du en forklaring på signaturtesteren, der viser dig præcis, hvilket trin der mislykkedes.

Underskriften stemmer ikke overens▾
I denne ordre: hemmeligheden (den mest almindelige årsag - et ekstra mellemrum eller en nøgle fra det forkerte miljø), om afsenderen bruger en hemmelighed fra et andet endpoint, og om noget mellem Lemon Squeezy og appen omskriver brødteksten. Signaturer dækker de rå bytes, så en proxy, der omformaterer JSON, ødelægger dem. Signaturtesteren på webhook-siden viser den nøjagtige tekst, der blev signeret.
Jeg får en 401-fejl ved hver eneste anmodning▾
Kontroller, at webhookens godkendelse er indstillet til HMAC med udbyderen Lemon Squeezy valgt, at den hemmelige nøgle er udfyldt, og at Lemon Squeezy sender data til URL’en nøjagtigt som angivet i appen, inklusive koden i slutningen.
Der vises intet under »Historik«▾
Anmodningen blev aldrig modtaget. Tjek URL’en igen i Lemon Squeezy, og se i Lemon Squeezys egen leveringslog, hvilket svar systemet har modtaget. En 404 betyder, at webhooken er forkert eller slettet, mens en 429 betyder, at du har overskredet dit abonnements grænse for antallet af opkald - se Planer og anvendelse.
Arbejdsgangen kører for de forkerte begivenheder▾
Hver eneste webhook i din butik udløser den samme Shopify Flow-trigger. Tilføj en betingelse baseret på webhook-id’et som det første trin i arbejdsgangen, eller begræns de begivenheder, du sender fra Lemon Squeezy.
Relateret
- Bekræftelse af signerede webhooks - alle udbydere, vi verificerer, og hvordan man beskriver en, vi ikke verificerer.
- Kortlægning af payload og strømningsvariabler - at udtrække de rigtige felter fra Payloaden og overføre dem til Shopify Flow.
- Beskyttelse mod dobbeltlevering - hvad der sker, når Lemon Squeezy forsøger at levere igen.
- Historik og fejlfinding - loggen over alle anmodninger, med mulighed for afspilning.

