Assinatura renovada

Evento: SUBSCRIPTION_RENEWED

Um ciclo da assinatura no cartão, a partir do segundo, foi pago.

Quando dispara: quando o gateway avisa a PagPolar que a cobrança de um ciclo a partir do segundo foi paga.

O que fazer: mantenha o acesso e atualize a próxima data de cobrança com subscription.next_billing_at.

Atenção: chega uma vez a cada ciclo pago, sempre com o mesmo subscription.id: não use só esse campo para descartar repetidos. Assinaturas em PIX ou boleto não geram este evento; a renovação delas chega como TRANSACTION_PAID.

Exemplo de payload

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "event": "SUBSCRIPTION_RENEWED",
  "creation_date": "2026-02-28T10:05:05.000Z",
  "version": "1.0.0",
  "data": {
    "subscription": {
      "id": "c3d4e5f6-a7b8-4012-8def-123456789012",
      "external_id": "sub_abc123",
      "status": "ACTIVE",
      "start_at": "2026-01-28T10:00:00.000Z",
      "end_at": null,
      "next_billing_at": "2026-03-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"
    }
  }
}

Header Parameters

Authorization?string

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.

X-PagPolar-Test?string

true só nos envios de teste feitos pelo Playground de webhooks do portal. Os eventos reais não trazem este header.

Value in"true"
idstring

Id desta tentativa de entrega. Cada nova tentativa do mesmo evento chega com outro id: não use este campo para evitar processamento duplicado.

Formatuuid
eventstring

Nome do evento.

creation_datestring

Data e hora (UTC) em que esta tentativa foi montada.

Formatdate-time
versionstring

Versão do formato do payload.

test?boolean

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.

dataSubscriptionEventData

Dados do evento. Chega vazio ({}) se a venda ou a assinatura não for encontrada no momento do envio.

Response Body

Assinatura recusada POST

**Evento:** `SUBSCRIPTION_FAILED` A criação da assinatura no cartão de crédito falhou no gateway. **Quando dispara:** quando a PagPolar tenta criar a assinatura no gateway e ele recusa ou a criação dá erro. Essa tentativa acontece depois da resposta de `POST /v1/plans/offer/{id}/subscribe`, que já devolveu a assinatura em `DRAFT`. **O que fazer:** não libere o acesso. Avise o cliente e peça outro cartão; para tentar de novo, crie uma nova assinatura. **Atenção:** `status` vira `FAILED` e `external_id` chega `null`. As vendas da assinatura também ficam `FAILED`, sem evento de venda próprio. ### Exemplo de payload ```json { "id": "550e8400-e29b-41d4-a716-446655440000", "event": "SUBSCRIPTION_FAILED", "creation_date": "2026-01-28T10:00:20.000Z", "version": "1.0.0", "data": { "subscription": { "id": "c3d4e5f6-a7b8-4012-8def-123456789012", "external_id": null, "status": "FAILED", "start_at": "2026-01-28T10:00:00.000Z", "end_at": null, "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" } } } ```

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" } } } ```