Hoe sluit u de Lemon Squeezy aan op Shopify Flow

Lemon Squeezy verkoopt digitale producten en abonnementen en brengt u op de hoogte van elke bestelling, elk abonnement en elke wijziging in de licentie. Workflow Webhooks zet die melding om in een ‘Shopify Flow’-trigger, zodat uw winkel hierop kan reageren: een klant taggen, een opmerking bij de bestelling toevoegen, een interne e-mail versturen, een metaveld bijwerken - alles Shopify Flow kan doen.

Deze handleiding beschrijft het volledige proces - Lemon Squeezy verzendt, Workflow Webhooks ontvangt en verifieert, Shopify Flow voert de actie uit - waarbij bij elk verzoek de HMAC-handtekening van Lemon Squeezy wordt gecontroleerd, zodat uitsluitend Lemon Squeezy uw workflow kan starten.

Wat u kunt bouwen

  • Tag de Shopify-klant die ook een digitaal product heeft gekocht, zodat de bundels en segmenten op elkaar aansluiten.
  • Voer het actieve licentieniveau in als metaveld in het klantdossier.
  • Stuur uw team een e-mail wanneer een abonnement wordt opgezegd door een klant die recent bestellingen heeft geplaatst via Shopify.

Voorbeelden van gebeurtenissen die u kunt doorgeven: order_created, subscription_created, subscription_cancelled, license_key_created.

Voordat u begint

  • Workflow Webhooks geïnstalleerd in uw Shopify-winkel.
  • Shopify Flow geïnstalleerd, dat gratis te downloaden is via de App Store op Shopify.
  • Een account bij Lemon Squeezy met toestemming om webhooks aan te maken.

Stap 1 - Maak de webhook aan op Workflow Webhooks

  1. Ga naar Workflow Webhooks -> Webhooks -> Maak een webhook aan en geef deze een naam die u in Shopify Flow zult herkennen, zoals Lemon Squeezy events.
  2. Kies onder ‘Authenticatie’ de optie ‘HMAC’.
  3. Kies onder ‘Signature provider’ voor Lemon Squeezy. De app vult de header, het algoritme, de ondertekende payload en het replay-venster automatisch voor u in - u hoeft verder niets meer in te stellen.
  4. Laat het veld ‘geheim’ voorlopig leeg en klik op ‘Opslaan’. Kopieer de webhook-URL die op de pagina wordt weergegeven.

Zie Authenticatie voor de overige authenticatiemethoden en Toewijzing van payloads en Flow-variabelen voor het selecteren van de velden die naar Shopify Flow worden verzonden.

Stap 2 - Voeg het eindpunt toe in Lemon Squeezy

Ga in Lemon Squeezy naar Instellingen -> Webhooks, voeg een webhook toe met de URL die u hebt gekopieerd, selecteer de gebeurtenissen en voer een ondertekeningsgeheim in.

Hoe u uw Lemon Squeezy-ondertekeningsgeheim kunt ontdekken

Het ondertekeningsgeheim dat u hebt ingevoerd bij het aanmaken van de webhook.

In de eigen documentatie van Lemon Squeezy over webhook-handtekeningen vindt u de exacte bewoordingen en schermafbeeldingen voor uw account.

Plak de geheime code in het veld ‘Secret’ van de webhook op Workflow Webhooks en sla deze op. Vanaf dat moment wordt elke levering van Lemon Squeezy geverifieerd voordat deze bij Shopify Flow binnenkomt.

Wat hiermee wordt gecontroleerd

Wat Waarde
Handtekeningkoptekst X-Signature
Waar de handtekening staat De volledige waarde van de header
Wat is ondertekend? {body}
Handtekening HMAC-SHA256, in hexadecimale notatie
Tijdstempel Wordt niet gebruikt door deze afzender
Bescherming tegen herhaling Geen - deze afzender ondertekent geen tijdstempel, zodat elke geldige handtekening geldig blijft
Het geheim Wordt als platte tekst gebruikt. Plak de tekst precies zoals de afzender deze weergeeft

In de ondertekende payload is {body} de onbewerkte verzoektekst, byte voor byte.

Een verzoek dat aan een van deze voorwaarden niet voldoet, wordt afgewezen met de foutmelding 401, wordt vastgelegd in Geschiedenis en probleemoplossing en leidt nooit tot het starten van een workflow.

Stap 3 - Stel de workflow Shopify Flow samen

  1. Maak in ‘Shopify Flow’ een workflow aan en kies de trigger ‘Workflow Webhooks’.
  2. Klik op ‘Gebeurtenissen vastleggen’ en verstuur vervolgens een testgebeurtenis vanuit Lemon Squeezy (of gebruik de optie ‘Test verzenden’ in Workflow Webhooks), zodat Shopify Flow de structuur van uw gegevens leert herkennen.
  3. Elke webhook die u bezit, activeert dezelfde Shopify Flow-trigger. Voeg daarom een eerste voorwaarde toe op basis van de webhook-ID, zodat deze workflow uitsluitend voor Lemon Squeezy geldt. De ID wordt weergegeven op de webhook-pagina.
  4. Voeg uw acties toe - tag een klant, voeg een notitie toe, verstuur een interne e-mail, werk een metaveld bij.
Shopify Flow
Kies in Shopify Flow de optie ‘Select a trigger’, open Workflow Webhooks en selecteer ‘Webhook Trigger’.
Een Shopify Flow-voorwaarde: de webhook-ID is gelijk aan de ID van één webhook
De eerste stap van elke workflow: een voorwaarde op basis van de webhook-ID, zodat de workflow uitsluitend voor deze webhook wordt uitgevoerd.
De voltooide workflow: Webhook-trigger, een voorwaarde op basis van de webhook-ID, gevolgd door het verzenden van een interne e-mail in de „True“-tak
De voltooide workflow: trigger, voorwaarde op basis van de webhook-ID, gevolgd door uw actie op de „True“-tak.

Stap 4 - Test het van begin tot eind

Activeer een echte gebeurtenis in Lemon Squeezy. Onder ‘Workflow Webhooks’ -> ‘History’ zou u de aanroep moeten zien met de status ‘Success’. Als de handtekening onjuist was, krijgt u in plaats daarvan een mislukte vermelding met de reden, en op Gecertificeerde webhooks verifiëren vindt u uitleg over de handtekeningcontrole, die u precies laat zien welke stap is mislukt.

Eén aanroep werd in History geopend, met de verzoekheaders, de Payload, de status, de duur en de identificatiegegevens
Een voltooide gebeurtenis in History: de status ‘Succes’ betekent dat Shopify Flow deze heeft geaccepteerd.
De handtekening komt niet overeen▾

In deze bestelling: het geheim (de meest voorkomende oorzaak - een extra spatie of een sleutel uit de verkeerde omgeving), of de afzender het geheim van een ander eindpunt gebruikt, en of er iets tussen Lemon Squeezy en de app staat dat de body herschrijft. Handtekeningen hebben betrekking op de ruwe bytes, dus een proxy die JSON opnieuw opmaakt, maakt ze ongeldig. De handtekeningcontrole op de webhook-pagina toont de exacte tekst die is ondertekend.

Bij elk verzoek krijg ik een 401-foutmelding▾

Controleer of de authenticatie van de webhook is ingesteld op HMAC met de provider Lemon Squeezy geselecteerd, of het geheim is ingevuld en of Lemon Squeezy de gegevens naar de URL verstuurt precies zoals de app deze weergeeft, inclusief de code aan het einde.

Er wordt niets weergegeven in de geschiedenis▾

Het verzoek is nooit aangekomen. Controleer de URL nogmaals in Lemon Squeezy en bekijk het eigen afleveringslogboek van Lemon Squeezy om te zien welk antwoord het heeft ontvangen. Een 404 duidt op een onjuiste of verwijderde webhook; een 429 betekent dat u de limiet voor het aantal aanroepen van uw abonnement hebt overschreden - zie Abonnementen en gebruik.

De workflow wordt voor de verkeerde gebeurtenissen uitgevoerd▾

Elke webhook in uw winkel activeert dezelfde Shopify Flow-trigger. Voeg als eerste stap van de workflow een voorwaarde toe op basis van de webhook-ID, of beperk de gebeurtenissen die u vanuit Lemon Squeezy verstuurt.

Gerelateerd