Assinatura recusada

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

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

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 confirmada POST

**Evento:** `SUBSCRIPTION_CONFIRMED` O gateway aceitou a assinatura no cartão de crédito. **Quando dispara:** quando a PagPolar termina de criar a assinatura no gateway. Essa criação acontece depois da resposta de `POST /v1/plans/offer/{id}/subscribe` (ou da compra no checkout). **O que fazer:** guarde `subscription.external_id` se precisar dele. Não libere o acesso: consulte `GET /v1/subscriptions/{id}` e libere só quando `status` for `ACTIVE`. **Atenção:** o `status` **continua `DRAFT`** e só vira `ACTIVE` quando o gateway informa a cobrança paga. Só existe para assinaturas no cartão. Se a criação no gateway falhar, chega `SUBSCRIPTION_FAILED` no lugar deste evento. ### Exemplo de payload ```json { "id": "550e8400-e29b-41d4-a716-446655440000", "event": "SUBSCRIPTION_CONFIRMED", "creation_date": "2026-01-28T10:00:20.000Z", "version": "1.0.0", "data": { "subscription": { "id": "c3d4e5f6-a7b8-4012-8def-123456789012", "external_id": "sub_abc123", "status": "DRAFT", "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 renovada POST

**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 ```json { "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" } } } ```