Automations · Running on this site
Deliver digital products the second Stripe says paid.
Quick answer: Automatic product delivery listens for Stripe’s payment webhook, checks it really came from Stripe, then emails the buyer their files with a time-limited download link as a backup. No manual sending, no third-party store. It runs on this site’s store.
How it flows.
- 1Buyer paysStripe Payment Link
- 2Webhook verifiedCloudflare
- 3Files fetched privatelyCloudflare KV
- 4Email with files + linkResend
- 5Buyer added to listResend
How it’s built.
Sell with a Payment Link
Each product is a Stripe Payment Link with the product name in its metadata, so one webhook can serve every product.
Verify the webhook
The signature is checked against Stripe’s secret before anything happens, and each event is only processed once.
Fetch the private files
Product files live in private storage, never in a public folder anyone could guess.
Send the email
A branded email with the files attached and a signed download link that expires after 30 days, in case attachments get stripped.
Tag the buyer
The buyer is added to the right list for updates, without signing them up to marketing they didn’t ask for.
See it live
Every product in the store is delivered by this automation.
Questions people ask.
How do I deliver a digital product after a Stripe payment?
Listen for the checkout.session.completed webhook, verify its signature, then send the buyer an email with the file or a download link. Stripe Payment Links plus a small serverless function is enough.
Do I need Gumroad or a store platform?
No. Stripe handles payment and a webhook handles delivery, which keeps you off extra platform fees.
How do I stop download links being shared?
Use signed links that expire, and keep the files in private storage rather than a public URL.
Want this built for you?
I build automations like this in your own accounts, with the same guardrails, and hand over a runbook so your team can run it.
Book a call