Webhooks, kotorye ne vrut.

Podpisannye, s zashchitoi ot replay i povtorami do vashego 2xx.

Podpishites na invoice / order / refund events. Proveryaite HMAC-SHA256 na svoem endpoint. Kazhdaya dostavka podpisana HMAC-SHA256, imeet timestamp i povtory s exponential back-off do otveta 2xx.

Katalog

Devyat events. Podpishites na vse ili na odin.

order.paid A buyer's checkout finalised. Settled on-chain.
order.refunded Refund pushed back to the buyer's wallet.
order.delivered Auto-delivery completed - key, file, or webhook handed over.
order.failed Checkout expired or rejected.
product.created Product published from API or dashboard.
product.updated Any field on a product changed.
payout.queued Payout request accepted, broadcast pending.
payout.confirmed Payout confirmed on-chain.
customer.created New buyer email registered in your shop.
Headers

Chto prihodit na vash endpoint

POST /your-endpoint
# Standard headers Sellix sets on every delivery
X-Event-Id:          evt_01J2PT83A5XKJZ5N6FM5YV9B2D
X-Event-Type:        order.paid
X-Webhook-Timestamp: 1779604200
X-Signature:         sha256=8f7a9a2b…
Content-Type:        application/json
User-Agent:          Sellix-Webhook/1.0

# Body - JSON, the resource that fired the event
{
  "id":   "evt_01J2PT83A5XKJZ5N6FM5YV9B2D",
  "type": "order.paid",
  "data": { "order_uuid": "…", "total_cents": 4900, … }
}
Interactive

HMAC-SHA256 verifier

Vstavte payload i secret. My schitaem signature v browser cherez Web Crypto API - tot zhe algoritm, chto v SDK.

Vstavte signature vyshe, chtoby proverit.
Implementation

Ta zhe proverka na vashem yazyke


            

Retry policy

  • Up to 8 attempts per delivery
  • Back-off: 1m → 2m → 5m → 15m → 1h → 6h → 24h
  • Any 2xx ends the chain; 4xx / 5xx retries
  • Endpoint dies for 48h straight? We disable it and email the owner.

Replay & dedupe

  • Reject any timestamp more than 5 minutes off - replay protection.
  • Dedupe by X-Event-Id on your side. Same id twice = same event.
  • A replayed event should also return 200 - it's a feature, not a duplicate.