{
"id": "evt_01h455vb4pex5vsknk084sn02e",
"object": "event",
"type": "subscription.reactivated",
"created": 1766811600,
"live_mode": true,
"data": {
"object": {
"id": "sub_01h455vb4pex5vsknk084sn02s",
"object": "subscription",
"live_mode": true,
"external_code": null,
"billing_cycle_anchor": 1764039600,
"created": 1764040287,
"customer": "cus_01h455vb4pex5vsknk084sn02p",
"payment_method_type": "card",
"installments": 1,
"current_period_start": 1764039600,
"ended": null,
"item": {
"id": "si_01h455vb4pex5vsknk084sn02i",
"object": "subscription_item",
"created": 1764040287,
"current_period_end": 1766717999,
"current_period_start": 1764039600,
"price": {
"id": "price_01h455vb4pex5vsknk084sn02q",
"object": "price",
"active": true,
"created": 1764039000,
"currency": "brl",
"product": "prod_01h455vb4pex5vsknk084sn02q",
"type": "recurring",
"interval": "month",
"interval_count": 1,
"unit_amount": 2990,
"unit_amount_decimal": "2990",
"nickname": "Plano mensal"
},
"quantity": 1,
"subscription": "sub_01h455vb4pex5vsknk084sn02s"
},
"latest_invoice": "in_01h455vb4pex5vsknk084sn02q",
"start_date": 1764039600,
"status": "pending"
}
}
}Receber evento de assinatura reativada
Uma assinatura suspensa voltou para pending e vai tentar cobrar novamente. A confirmação do pagamento gera subscription.activated depois.
data.object é a assinatura, no mesmo formato de GET /api/v1/subscriptions/{id}.
{
"id": "evt_01h455vb4pex5vsknk084sn02e",
"object": "event",
"type": "subscription.reactivated",
"created": 1766811600,
"live_mode": true,
"data": {
"object": {
"id": "sub_01h455vb4pex5vsknk084sn02s",
"object": "subscription",
"live_mode": true,
"external_code": null,
"billing_cycle_anchor": 1764039600,
"created": 1764040287,
"customer": "cus_01h455vb4pex5vsknk084sn02p",
"payment_method_type": "card",
"installments": 1,
"current_period_start": 1764039600,
"ended": null,
"item": {
"id": "si_01h455vb4pex5vsknk084sn02i",
"object": "subscription_item",
"created": 1764040287,
"current_period_end": 1766717999,
"current_period_start": 1764039600,
"price": {
"id": "price_01h455vb4pex5vsknk084sn02q",
"object": "price",
"active": true,
"created": 1764039000,
"currency": "brl",
"product": "prod_01h455vb4pex5vsknk084sn02q",
"type": "recurring",
"interval": "month",
"interval_count": 1,
"unit_amount": 2990,
"unit_amount_decimal": "2990",
"nickname": "Plano mensal"
},
"quantity": 1,
"subscription": "sub_01h455vb4pex5vsknk084sn02s"
},
"latest_invoice": "in_01h455vb4pex5vsknk084sn02q",
"start_date": 1764039600,
"status": "pending"
}
}
}Headers
O ID do evento, o mesmo evt_ que vem no corpo em id. É a sua chave de
idempotência: receber o mesmo webhook-id duas vezes significa a mesma
coisa que recebê-lo uma vez.
^evt_[0-9a-z]{26}$"evt_01h455vb4pex5vsknk084sn02e"
Timestamp Unix em segundos do instante do envio. Ele entra no conteúdo assinado, então recuse entregas com mais de 5 minutos de diferença do seu relógio: é o que impede que uma requisição capturada seja reenviada depois.
1741541400
Uma ou mais assinaturas, separadas por espaço, cada uma no formato
v1,<base64>.
A assinatura é um HMAC-SHA256 sobre {webhook-id}.{webhook-timestamp}.{corpo},
codificado em base64. A chave são os bytes do segredo do endpoint depois do
prefixo, decodificados de base64 — o segredo é publicado como
whsec_<base64> e fica visível no painel, em Configurações → Webhooks.
Compare com secure_compare, nunca com ==.
Durante as 24 horas seguintes a uma rotação de segredo o cabeçalho traz duas assinaturas, uma por segredo. Aceite a entrega se qualquer uma delas conferir, e você troca o segredo sem perder evento nenhum.
"v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4="
Body
Tipo do objeto. Sempre 'event'.
event "event"
Tipo do evento de reativação da assinatura.
subscription.reactivated "invoice.paid"
Indica ambiente de produção (true) ou sandbox (false).
true
O recurso a que o evento se refere, no mesmo formato em que
GET /api/v1/<recurso>/{id} o devolve. Recursos relacionados aparecem
como IDs, não aninhados.
Show child attributes
Show child attributes
Response
Responda 2xx assim que guardar o evento.

