Lemon Squeezy · event: order_created ·
content type: application/json
This is a representative sample — fake IDs, real structure. To see a payload with your data, point the provider at a capture URL (button below).
One click creates a free capture bin with this exact payload already in it — pretty-printed, headers inspectable, replayable to your own endpoint:
Then paste the bin's URL into Lemon Squeezy's webhook settings to capture a real delivery. No signup.
content-type: application/json x-event-name: order_created x-signature: 49573803dfb8fbe552f33a2f47e8487b7344b53a1ad75cc448fcab0ab74ac561
{
"meta": {
"event_name": "order_created",
"custom_data": {
"user_id": "usr_84nQz2"
}
},
"data": {
"type": "orders",
"id": "1174326",
"attributes": {
"store_id": 5218,
"customer_id": 209331,
"identifier": "104e18a2-d755-4d4b-80c4-a6c1dcbe1c10",
"order_number": 1287,
"user_name": "Ada Deveraux",
"user_email": "ada@example.com",
"currency": "USD",
"currency_rate": "1.0000",
"subtotal": 2900,
"discount_total": 0,
"tax": 580,
"total": 3480,
"subtotal_usd": 2900,
"discount_total_usd": 0,
"tax_usd": 580,
"total_usd": 3480,
"tax_name": "VAT",
"tax_rate": "20.00",
"status": "paid",
"status_formatted": "Paid",
"refunded": false,
"refunded_at": null,
"subtotal_formatted": "$29.00",
"discount_total_formatted": "$0.00",
"tax_formatted": "$5.80",
"total_formatted": "$34.80",
"first_order_item": {
"id": 1523011,
"order_id": 1174326,
"product_id": 88021,
"variant_id": 112233,
"product_name": "Acme Pro License",
"variant_name": "Default",
"price": 3480,
"created_at": "2026-08-30T10:12:53.000000Z",
"updated_at": "2026-08-30T10:12:53.000000Z",
"deleted_at": null,
"test_mode": false
},
"urls": {
"receipt": "https://app.lemonsqueezy.com/my-orders/104e18a2-d755-4d4b-80c4-a6c1dcbe1c10?signature=8847fff02e1bfb0c7c43ff1cdf1b1657a8eed2029413692663b86859208c9f42"
},
"created_at": "2026-08-30T10:12:53.000000Z",
"updated_at": "2026-08-30T10:12:53.000000Z",
"test_mode": false
}
}
}
X-Signature, key = the signing secret you typed in
when creating the webhook (any 6–40 character string — here
ls_wh_sample_secret_Qx7Tt2vRk9). Paste body + signature into the
signature debugger (generic scheme), or set
scheme "Generic HMAC" + that secret on a capture bin — Lemon Squeezy even uses the
bin scheme's default header name, x-signature, so live ✓/✗ badges work
out of the box.X-Event-Name header (or meta.event_name —
same value) before parsing: every event posts a full JSON:API resource object
(data.type = orders, subscriptions, …), so the
interesting fields live under data.attributes, not at the top level.meta.custom_data is your own checkout custom data echoed
back — present on Order, Subscription and License-key events only. It's the reliable
way to map an order to your internal user ID.*_usd fields and pre-formatted *_formatted strings.
Lemon Squeezy verifies your HTTPS certificate before delivering, and test-mode events
carry test_mode: true on the order attributes.Reproduce this delivery against any endpoint (your handler, a bin, staging):
$ curl -X POST https://your-endpoint.example/hook \
-H 'content-type: application/json' \
-H 'x-event-name: order_created' \
-H 'x-signature: 49573803dfb8fbe552f33a2f47e8487b7344b53a1ad75cc448fcab0ab74ac561' \
-d '{
"meta": {
"event_name": "order_created",
"custom_data": {
"user_id": "usr_84nQz2"
}
},
"data": {
"type": "orders",
"id": "1174326",
"attributes": {
"store_id": 5218,
"customer_id": 209331,
"identifier": "104e18a2-d755-4d4b-80c4-a6c1dcbe1c10",
"order_number": 1287,
"user_name": "Ada Deveraux",
"user_email": "ada@example.com",
"currency": "USD",
"currency_rate": "1.0000",
"subtotal": 2900,
"discount_total": 0,
"tax": 580,
"total": 3480,
"subtotal_usd": 2900,
"discount_total_usd": 0,
"tax_usd": 580,
"total_usd": 3480,
"tax_name": "VAT",
"tax_rate": "20.00",
"status": "paid",
"status_formatted": "Paid",
"refunded": false,
"refunded_at": null,
"subtotal_formatted": "$29.00",
"discount_total_formatted": "$0.00",
"tax_formatted": "$5.80",
"total_formatted": "$34.80",
"first_order_item": {
"id": 1523011,
"order_id": 1174326,
"product_id": 88021,
"variant_id": 112233,
"product_name": "Acme Pro License",
"variant_name": "Default",
"price": 3480,
"created_at": "2026-08-30T10:12:53.000000Z",
"updated_at": "2026-08-30T10:12:53.000000Z",
"deleted_at": null,
"test_mode": false
},
"urls": {
"receipt": "https://app.lemonsqueezy.com/my-orders/104e18a2-d755-4d4b-80c4-a6c1dcbe1c10?signature=8847fff02e1bfb0c7c43ff1cdf1b1657a8eed2029413692663b86859208c9f42"
},
"created_at": "2026-08-30T10:12:53.000000Z",
"updated_at": "2026-08-30T10:12:53.000000Z",
"test_mode": false
}
}
}'