Stakk Docs

Webhooks

Receive order, payment, and delivery events on your server.

Create an endpoint in Dashboard → Developers → Webhooks. Stakk POSTs JSON when something happens on the shop.

Events

EventWhen
order.createdInvoice opened
order.paid / order.completedPayment confirmed
order.refundedRefund issued
delivery.completedSerials, files, or Discord roles delivered
product.stockStock changed

Payload

{
  "event": "order.completed",
  "created_at": "2026-09-18T18:00:00.000Z",
  "data": {
    "uniqid": "inv_...",
    "status": "COMPLETED",
    "email": "buyer@example.com",
    "total": "29.00"
  }
}

Verify

Each delivery includes X-Stakk-Timestamp and X-Stakk-Signature. The signature is t=<unix seconds>,v1=<hex hmac sha256>. The HMAC is over {timestamp}.{raw body} using the endpoint's signing secret. Compare the hex with a constant-time check, and reject timestamps more than a few minutes off.

Rotate the secret from the dashboard. Retry failed deliveries from Webhook logs.

Test from the API

POST /api/dev/v1/webhooks/{id}/test
Authorization: Bearer sk_live_...