Webhook Shop
Webhook Shop notifies your system when an order is paid. Its settings are separate from developer Webhooks, and shop-level notifications are available on certain plans.
Webhook types
| Type | Where to set it up | Sent when |
|---|---|---|
| Shop notification | Dashboard > Shop > Settings | Every paid invoice |
| Webhook product | webhook_url field on the product | That product is paid |
Payload
The shop notification sends invoice data:
json
{
"invoice_id": "665f1c2ab3d4e5f6a7b8c9d0",
"invoice_no": "INV-0001",
"email": "pembeli@example.com",
"full_name": "Nama Pembeli",
"tenant_id": 123,
"shop_name": "Toko Contoh",
"status": "PAID",
"items": [
{
"item_id": "665f1c2ab3d4e5f6a7b8c9d1",
"item": { "name": "Nama Produk", "product_type": "webhook" },
"qty": 1,
"price": 50000,
"total": 50000,
"notes": ""
}
]
}Webhook products send data per item:
json
{
"id": "665f1c2ab3d4e5f6a7b8c9d0",
"paid_at": "2026-06-22T10:00:00Z",
"email": "pembeli@example.com",
"full_name": "Nama Pembeli",
"phone_number": "08xxxxxxxxxx",
"shop_id": "665f1c2ab3d4e5f6a7b8c9d2",
"item": {
"item_id": "665f1c2ab3d4e5f6a7b8c9d1",
"item": { "name": "Nama Produk", "product_type": "webhook" },
"qty": 1,
"price": 50000,
"total": 50000,
"notes": ""
}
}Delivery and resends
- Sent with POST, User-Agent s.id-webhook/0.1, and a 15-second timeout
- Only a 200 response counts as success
- Up to 5 automatic retries, after waits of 1, 5, 15, 30, and 60 minutes
- Delivery logs are available in the dashboard and can be resent manually
Webhook Shop does not send an X-SID-Signature header. Match invoice_no with the order data in s.id before processing the order.