Assinatura expirada
Evento: SUBSCRIPTION_EXPIRED
A assinatura em PIX ou boleto passou do prazo de carência sem pagar a renovação.
Quando dispara: na verificação diária de assinaturas, depois que o prazo de carência da renovação acaba sem pagamento.
O que fazer: revogue o acesso do cliente.
Atenção: o status vira EXPIRED. Assinaturas no cartão não geram este evento.
Exemplo de payload
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"event": "SUBSCRIPTION_EXPIRED",
"creation_date": "2026-03-06T08:00:05.000Z",
"version": "1.0.0",
"data": {
"subscription": {
"id": "c3d4e5f6-a7b8-4012-8def-123456789012",
"external_id": null,
"status": "EXPIRED",
"start_at": "2026-01-28T10:00:00.000Z",
"end_at": null,
"next_billing_at": "2026-02-28T10:00:00.000Z",
"payment_method": "BOLETO",
"total_amount": "49.9000",
"created_at": "2026-01-28T10:00:00.000Z"
},
"product": {
"id": "8a2cdb3c-4a6d-4bad-8add-1a0c6b2cab5c",
"name": "Assinatura Premium Mensal",
"type": "SUBSCRIPTION"
},
"buyer": {
"name": "João Silva",
"email": "joao.silva@email.com",
"document": "12345678900",
"phone": "11999999999"
},
"source": {
"channel": "API",
"api_credential_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}
}
}Header Parameters
Bearer <webhook_authorization>: o token do webhook, exibido uma única vez na criação da credencial. Compare com o valor guardado antes de processar o evento.
true só nos envios de teste feitos pelo Playground de webhooks do portal. Os eventos reais não trazem este header.
"true"Id desta tentativa de entrega. Cada nova tentativa do mesmo evento chega com outro id: não use este campo para evitar processamento duplicado.
uuidNome do evento.
Data e hora (UTC) em que esta tentativa foi montada.
date-timeVersão do formato do payload.
Só aparece nos envios de teste feitos pelo Playground de webhooks do portal, junto com o header X-PagPolar-Test: true. Os eventos reais não trazem este campo: ignore em produção qualquer evento com test: true.
Dados do evento. Chega vazio ({}) se a venda ou a assinatura não for encontrada no momento do envio.
Response Body
Assinatura em atraso POST
**Evento:** `SUBSCRIPTION_DELAYED` A renovação de uma assinatura em PIX ou boleto está atrasada, mas ainda dentro do prazo de carência. **Quando dispara:** na verificação diária de assinaturas, quando a data de renovação já passou, a renovação não foi paga e o prazo de carência ainda não acabou. Pode chegar uma vez por dia enquanto a assinatura seguir nessa situação. **O que fazer:** lembre o cliente de pagar. **Atenção:** a assinatura está `PENDING_RENEWAL`. Se o prazo acabar sem pagamento, chega `SUBSCRIPTION_EXPIRED`. Assinaturas no cartão não geram este evento. ### Exemplo de payload ```json { "id": "550e8400-e29b-41d4-a716-446655440000", "event": "SUBSCRIPTION_DELAYED", "creation_date": "2026-03-01T08:00:05.000Z", "version": "1.0.0", "data": { "subscription": { "id": "c3d4e5f6-a7b8-4012-8def-123456789012", "external_id": null, "status": "PENDING_RENEWAL", "start_at": "2026-01-28T10:00:00.000Z", "end_at": null, "next_billing_at": "2026-02-28T10:00:00.000Z", "payment_method": "BOLETO", "total_amount": "49.9000", "created_at": "2026-01-28T10:00:00.000Z" }, "product": { "id": "8a2cdb3c-4a6d-4bad-8add-1a0c6b2cab5c", "name": "Assinatura Premium Mensal", "type": "SUBSCRIPTION" }, "buyer": { "name": "João Silva", "email": "joao.silva@email.com", "document": "12345678900", "phone": "11999999999" }, "source": { "channel": "API", "api_credential_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7" } } } ```
Assinatura cancelada POST
**Evento:** `SUBSCRIPTION_CANCELED` O cancelamento da assinatura foi efetivado. **Quando dispara:** em PIX ou boleto, na hora do pedido de cancelamento. No cartão, quando o gateway informa o cancelamento ou a recusa: o pedido feito em `DELETE /v1/subscriptions/{id}` deixa a assinatura em `CANCELING`, sem evento, até essa confirmação. O pedido de reembolso total de uma venda de assinatura, o estorno concluído e o chargeback aprovado também pedem o cancelamento. **O que fazer:** encerre a assinatura no seu sistema e revogue o acesso. Se precisar da data, confira `end_at` em `GET /v1/subscriptions/{id}`. **Atenção:** no cartão, `end_at` é gravado logo depois do envio deste evento, então o payload pode chegar com `end_at` `null`. Em PIX ou boleto, `end_at` recebe a data do cancelamento. ### Exemplo de payload ```json { "id": "550e8400-e29b-41d4-a716-446655440000", "event": "SUBSCRIPTION_CANCELED", "creation_date": "2026-03-15T08:00:05.000Z", "version": "1.0.0", "data": { "subscription": { "id": "c3d4e5f6-a7b8-4012-8def-123456789012", "external_id": "sub_abc123", "status": "CANCELED", "start_at": "2026-01-28T10:00:00.000Z", "end_at": "2026-03-15T08:00:00.000Z", "next_billing_at": "2026-02-28T10:00:00.000Z", "payment_method": "CREDIT_CARD", "total_amount": "49.9000", "created_at": "2026-01-28T10:00:00.000Z" }, "product": { "id": "8a2cdb3c-4a6d-4bad-8add-1a0c6b2cab5c", "name": "Assinatura Premium Mensal", "type": "SUBSCRIPTION" }, "buyer": { "name": "João Silva", "email": "joao.silva@email.com", "document": "12345678900", "phone": "11999999999" }, "source": { "channel": "API", "api_credential_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7" } } } ```