O cenário Webhook donation.created no API Playground mostra headers, payload e verificação HMAC.
Configuração#
Por integração, defina URL HTTPS pública (sem redirect, sem localhost/IP privado). Limite: até 10 assinaturas ativas por streamer. O secret de assinatura é mostrado só na criação.
Payload#
Quando uma doação é confirmada (RECEIVED), a Wpix envia:
donation.createdjson
{
"event": "donation.created",
"data": {
"id": "b3f1…-uuid",
"donor_name": "Fulano",
"message": "Boa live!",
"amount_cents": 1000,
"status": "RECEIVED",
"paid_at": "2026-07-07T21:00:00.000Z"
}
}Headers: Content-Type: application/json · X-Astropix-Signature · X-Astropix-Event · X-Astropix-Delivery-Id
Verificar assinatura#
Node.jsjavascript
const crypto = require("crypto");
function verify(rawBody, signatureHeader, secret) {
const expected =
"sha256=" + crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signatureHeader));
}Retry#
Timeout 8s ou resposta não-2xx → backoff 1min, 5min, 30min, 2h. Após 5 tentativas: status FAILED (consultável no histórico do dashboard).