booktohelp
Automation & developers

Use your own webhook URL

Point bookto checkout at a URL you control, and every paid order is delivered there automatically the moment a customer pays.

What is a webhook?

A webhook is a URL you own that bookto sends data to. The moment a customer pays for one of your products, bookto makes an HTTP POST request to that URL with the full order details as JSON. There is nothing to poll and nothing to schedule — the data arrives on its own, in real time.

Use a webhook when you want to send orders to your own server, or to an automation tool that accepts a custom webhook trigger — such as Make, n8n, or webhook.site.

Webhook or Zapier? If you just want to connect a well-known app without code, Zapier is easier. Choose a raw webhook URL when you run your own server, or when your automation tool gives you a webhook URL to paste in.

What you need

  • A bookto checkout account on the Flow plan
  • A URL that can receive a POST request (your own endpoint, or one from Make / n8n / webhook.site)

Step 1 — Get a webhook URL

If you use a tool like Make or n8n, create a new scenario with a custom webhook trigger — it gives you a URL to copy. If you run your own server, use any endpoint that accepts a POST. Not sure where to start? Open webhook.site and copy the unique URL it shows you — perfect for a first test.

Step 2 — Add the URL in bookto

  1. In bookto checkout, go to Dashboard → Integrations
  2. Open the API key & webhooks card
  3. Paste your URL under Webhooks and click Add

That's it — no API key is needed for a raw webhook URL. bookto immediately starts POSTing every paid order to that address.

Step 3 — Test it safely

A payment made in test mode also fires a webhook, marked with "is_test_order": true in the payload. That lets you run the whole flow without taking a real payment.

  1. Place a test order on your own checkout page.
  2. Check your webhook URL (or your webhook.site tab) — the order should appear within seconds.
  3. Confirm the fields you need are present before going live.

What you receive

Each webhook is a single POST with a JSON body. It contains everything an invoice or bookkeeping tool needs: order number, the full amount breakdown (incl./excl. VAT, VAT rate, currency), the product name and description, the buyer (name, company, VAT number, address, country), and any custom_fields the buyer filled in.

The payload shape is stable, so you can rely on it. For the full JSON example and every field, see Integrations & webhooks.

Build it with AI (no code)

Don't want to write the handler yourself? On the Integrations page, open the Build your own integration card. It gives you a ready-to-paste prompt for an AI coding tool like Cursor or Claude — the prompt already includes the webhook payload shape and how to verify the signature, so the AI needs no prior bookto knowledge. Paste it in, describe what you want it to do (for example "add the buyer to a Google Sheet"), and let the tool build the handler for you.

Keep your signing secret safe. The prompt contains a <your-signing-secret> placeholder. Replace it with your real secret from the API key & webhooks card in your own editor — never paste the real signing secret into a shared AI chat.

Good to know

  • Delivered once. Each paid order reaches your webhook exactly once, even if the payment provider repeats its own notification behind the scenes — you won't get duplicates.
  • Returning buyers. Every payload includes a stable buyer.match_ref key so your automation can find-or-create a contact instead of creating a duplicate each time. See the find-or-create pattern in Integrations & webhooks.
  • Verify the sender (optional). If you build your own server, you can confirm each request genuinely came from bookto by checking the signature header. The step-by-step, with code, is in Integrations & webhooks.
  • Manage & monitor. In the API key & webhooks card, each webhook URL shows its last delivery status (for example last: 200) and can be Disabled (paused without losing the URL) or Deleted. Use it to pause a broken endpoint, or to confirm bookto is actually reaching your server.

Flow plan required. Webhooks are available on the Flow plan. View plans →

Related guides

Integrations & webhooksConnect Zapier to bookto checkoutConnect your accounting or invoicing software

Still stuck?

Contact support →