Seller story
41 sales in 30 days. Built in an afternoon.
Alex sells developer toolkits. He needed checkout he could drive from code — not a dashboard. Here's what he built and what happened next.
"I'd tried Gumroad and Lemon Squeezy. Neither let me create products or trigger fulfillment from code. Payhook was the first checkout tool I could actually automate."
The problem
Alex is a solo developer who builds and sells developer toolkits. He needed a way to sell a webhook starter kit where each buyer automatically received a personalised config file on purchase.
What he built
Four steps. Built in an afternoon. No dashboard work per sale.
- Created a product via POST /api/v1/products in under 60 seconds.
- Pointed Payhook webhook to his fulfillment Lambda function.
- Lambda receives sale event, generates buyer-specific config, emails it.
- Zero manual work per sale.
The setup in code
// 1. Create the product
const res = await fetch('https://getpayhook.com/api/v1/products', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({ name: 'Webhook Integration Starter Kit', price_cents: 2900 })
})
const { checkout_url } = await res.json()
// 2. Payhook fires a webhook on every sale
// 3. Your endpoint handles fulfillment automatically
app.post('/webhook/sale', async (req) => {
const { buyer_email, product_id } = req.body
const config = await generatePersonalisedConfig(buyer_email)
await sendEmail(buyer_email, config)
})The result
First sale on day 3. 41 sales in month one. $0 in platform fees beyond Stripe processing.
Build the same setup in one afternoon
API keys, webhooks, and your first product live in under 30 minutes. No platform fees.