Webhooks isso não mente.

Assinado, protegido contra reprodução, tentado novamente até 2xx.

Assine eventos de fatura/pedido/reembolso. Verifique HMAC-SHA256 em seu endpoint. Cada entrega é HMAC-SHA256 assinada, com carimbo de data e hora e repetida com espera exponencial até que seu endpoint retorne 2xx.

Catálogo

Nove eventos. Assine todos ou um.

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.
Cabeçalhos

O que chega ao seu 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, … }
}
Interativo

HMAC-SHA256 verificador

Cole uma carga útil + segredo. Calculamos a assinatura ao vivo no seu navegador usando o Web Crypto API - o mesmo algoritmo que nosso SDK usa no seu servidor.

Cole uma assinatura acima para verificar.
Implementação

Mesmo cheque, no seu idioma


            

Política de repetição

  • 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.

Repetir e desduplicar

  • 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.