Skip to content
On this page

Connected platform guide

Connect Lemon Squeezy to Drawspan

Use order and subscription webhooks to issue one-time licences, start subscriptions, renew paid terms, and revoke refunded access.

Before you start

  • A Lemon Squeezy store with Test mode available.
  • A published test product and variant.
  • A Drawspan product with a reusable licence plan.
  • A signing secret between 6 and 40 characters. Drawspan can generate one in the connection workspace.
  1. In Connected platforms, choose Connect platform, then Lemon Squeezy.
  2. Give the connection a name your team will recognise. Keep its workspace open.
  3. Expand step 1 and copy the webhook URL. Paste that URL into the provider dashboard below.
  4. Save the provider secret in the matching Drawspan endpoint. For Lemon Squeezy, generate it in Drawspan first. Gumroad has no signing secret.
  5. Expand step 2, link the product, then follow the testing instructions before enabling live sales.

Read the shared testing, expiry, email and recovery rules. Drawspan grants access to customers and seats; it does not email separate licence keys or issue ownerless licences.

Configure the webhook

Open Settings → Webhooks → +.

Create the test webhook while Lemon Squeezy is in Test mode. Switch to Live mode and create a separate live webhook when the integration is ready.

FieldValue
Callback URLThe Drawspan webhook URL (the same URL for Test and Live)
Signing secretThe secret generated or entered in the matching Drawspan endpoint
EventsSelect the six events below

Select events

Select or create the events in the order shown below. The names follow the provider’s event picker.

  1. order_createdIssue access for a one-time order. A subscription order is deduplicated against subscription_created.
  2. order_refundedRevoke access only for a fully refunded order. Partial refunds leave access unchanged.
  3. subscription_createdIssue the first subscription term.
  4. subscription_payment_successRenew the subscription term after a successful recurring payment.
  5. subscription_payment_recoveredRenew after a previously failed renewal payment is recovered.
  6. subscription_payment_refundedRevoke the linked licence only for a fully refunded subscription payment.

Test the connection

  1. Keep Lemon Squeezy in Test mode and open the published test product through Preview or its Share link.
  2. Pay with 4242 4242 4242 4242 and the test card details shown by Lemon Squeezy.
  3. In Drawspan, refresh the connection and inspect Recent webhooks.
  4. Confirm that Drawspan shows the mapped Variant ID and marks the test purchase as verified. Test data does not grant production access. A simulated event checks the endpoint, not the complete checkout and mapping path.

Inspect the event’s outcome, then check the customer, product, seats and expiry separately. A verified sandbox mapping does not prove production issuance or email delivery. For a local development rehearsal with test processing enabled, also verify the licence and captured email, then refund the test purchase. For subscriptions, exercise renewal, cancellation and a renewal refund. See the verification checklist.

Purchases, renewals, refunds, and cancellations

ChangeWhat Drawspan does
Initial one-time paymentorder_created issues access.
Initial subscription paymentsubscription_created issues the first term and prevents the related order event from issuing twice.
RenewalSuccessful or recovered renewal payments use the payment timestamp plus the mapped duration. Initial and update invoices do not renew twice.
CancellationCancellation stops future renewals. Access ends at the expiry already recorded in Drawspan.
Expirysubscription_expired does not revoke paid access early. The recorded term expires naturally.
Refundorder_refunded or subscription_payment_refunded revokes the related licence only after a full refund. Partial refunds are recorded without changing access.

Limits and recovery

  • Open the webhook delivery in Lemon Squeezy and resend it after correcting the secret or product mapping.
  • If the signing secret changes, save the new value in Drawspan before sending another event.
  • Create the live webhook and product mapping from Live mode. Test-mode products, variants, webhooks, and orders are separate.

After correcting an accepted event, open Recent webhooks in its connection and choose Retry processing. Signature-rejected events cannot be retried inside Drawspan; resend them from the provider after fixing the secret. A missed event that was never accepted still requires a provider resend or manual correction. Recovery details.

Troubleshooting

Lemon Squeezy refuses the secret
Use a value between 6 and 40 characters. Generate a new secret in Drawspan if the existing one is longer.
The webhook is accepted but no licence appears
Check the Variant ID mapping and the customer email on the order.
A canceled subscription still has access
Check the recorded expiry. Cancellation does not remove a term that the customer already paid for.
The test checkout never reaches Drawspan
Confirm that both the product and webhook were created while Test mode was active.

Official references