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}.
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.
Response
Responda 2xx assim que guardar o evento.

