Payhook/Sell with webhooks
Developer Guide

Sell digital products with webhooks

Get paid, trigger delivery, and close the loop automatically. From one checkout event, unlock access, send onboarding, provision licenses, and log attribution — without manual ops.

Manual fulfillment breaks at scale

Most digital sellers still handle fulfillment with manual steps: check payment, send files by email, update access by hand, patch broken automations later.

One missed webhook means one unhappy buyer. And once you have real volume, manual ops becomes the bottleneck that caps your growth.

Webhook-native selling with Payhook

Signed webhook events
Every event is HMAC-signed. Verify payload authenticity before processing so your fulfillment endpoint stays trusted.
Fast fulfillment triggers
Run file delivery, license generation, and access grants in seconds of payment confirmation.
Retry-safe event model
Use idempotency and event IDs to avoid duplicate fulfillment on retried webhook deliveries.
Built for digital goods
Works for templates, prompts, agent skills, code packs, and memberships — not physical inventory.

How it works

1
Create your product in Payhook dashboard or via API
2
Generate and share your checkout URL
3
Buyer completes payment on hosted checkout page
4
Payhook sends a signed payment.succeeded webhook to your endpoint
5
Your endpoint fulfills — send files, grant access, trigger automation

Webhook payload example

POST https://your-app.com/hooks/payhook
X-Payhook-Signature: sha256=abc123...

{
  "event": "payment.succeeded",
  "id": "evt_xyz789",
  "product_id": "prod_abc123",
  "buyer_email": "buyer@example.com",
  "amount_cents": 2900,
  "currency": "gbp",
  "metadata": { "source": "twitter-launch" }
}

What you can build with this

  • Instant Notion template delivery after payment confirmation
  • AI agent access provisioned on successful checkout
  • Course module unlock inside your own app
  • License key generation and email delivery
  • Welcome email plus onboarding sequence trigger

Common questions

Do I need to host files in Payhook?
No. Host assets anywhere and trigger delivery from your own backend when the webhook event fires.
Can I prevent duplicate sends?
Yes. Process webhook event IDs with idempotency checks to avoid fulfilling the same purchase twice.
Will this work for subscriptions too?
Yes. Use recurring webhook events to control ongoing access for subscription-based products.

Stop running manual fulfillment after every sale

Use webhook-based checkout so payments trigger delivery automatically — every time, without manual intervention.