Este evento é publicado quando o sistema de faturamento recebe um webhook de um provedor de pagamento (ex.: Stripe) e valida sua assinatura com sucesso. Ele representa o ponto de ingestão bruta para eventos externos de faturamento — antes de qualquer processamento específico do domínio.
O webhook é armazenado com seus headers, body e assinatura completos para fins de auditoria. Após publicar este evento, um processador downstream o captura, interpreta o tipo de evento específico do provedor e dispara os eventos de domínio apropriados (como invoice.paid ou invoice.payment_failed).
O webhook é persistido com status PENDING ao ser recebido. Ele transiciona por PROCESSING e depois para PROCESSED ou FAILED. O contador attempts rastreia quantas vezes o processamento foi tentado, habilitando lógica de retentativa para falhas transitórias.
Ao tratar este evento, sempre valide o campo signature contra o signing secret do provedor antes de confiar no payload. O campo eventType contém a classificação própria do provedor para o evento (ex.: invoice.paid para Stripe) — use-o para rotear para a lógica de processamento correta. Deduplique pelo externalRef para prevenir o processamento do mesmo evento do provedor duas vezes.
Detalhes do Evento
| Propriedade | Valor |
|---|
| Type | webhook.received |
Schema do Payload
Identificador do registro de webhook.
ID do evento do provedor.
Provedor de pagamento: STRIPE.
Tipo de evento do provedor (ex.: invoice.paid).
Status de processamento: PENDING, PROCESSING, PROCESSED ou FAILED.
Contagem de tentativas de processamento.
receivedAt
string (ISO 8601)
required
Quando o webhook foi recebido.
Quando o webhook foi processado.
createdAt
string (ISO 8601)
required
Timestamp de criação.
updatedAt
string (ISO 8601)
required
Timestamp da última atualização.
{
"specversion": "1.0",
"type": "webhook.received",
"id": "evt_0195f3a2-8c00-7d4e-b804-4d5e6f7a8b9c",
"time": "2026-03-25T14:00:00Z",
"datacontenttype": "application/json",
"data": {
"webhookId": "0195f3a2-8c00-7d4e-b804-4d5e6f7a8b9c",
"externalRef": "evt_abc123",
"provider": "STRIPE",
"eventType": "invoice.paid",
"headers": {
"stripe-signature": "t=1234567890,v1=abc..."
},
"body": {
"id": "evt_abc123",
"type": "invoice.paid",
"data": {}
},
"signature": "t=1234567890,v1=abc...",
"status": "PENDING",
"attempts": 0,
"errors": null,
"receivedAt": "2026-03-25T14:00:00Z",
"processedAt": null,
"createdAt": "2026-03-25T14:00:00Z",
"updatedAt": "2026-03-25T14:00:00Z"
}
}