Pular para o conteúdo principal
O PIX Automático permite que um cliente autorize um débito recorrente uma única vez, no próprio banco, e depois o Portão 3 coleta cada cobrança automaticamente. Você cria uma autorização, envia o cliente para a página de aprovação dela e depois acompanha a autorização e as cobranças por webhooks ou consultando-as. Este guia também cobre como alterar o valor de uma cobrança, cancelar e recorrer ao boleto quando uma cobrança falha.

Fluxo

Etapa 1: Criar a autorização

A resposta é 201 Created: a autorização, com status CREATED, o paymentUrl e todas as cobranças em schedules — o primeiro pagamento (isFirstPayment: true) e cada cobrança recorrente, todas CREATED:
A autorização guarda as próprias datas: schedule.startDate é dois dias antes do schedule.startDate que você enviou — ou o dia seguinte ao primeiro pagamento, quando for depois — e schedule.endDate é o dia seguinte ao que você enviou. Redirecione o cliente para paymentUrl para aprovar a autorização no banco dele. Referência: POST .../wallets/{walletId}/pix-billing-automatic

Etapa 2: Acompanhar o ciclo de vida da autorização

Os eventos PIX_BILLING_AUTOMATIC_* acompanham a autorização em si (o consentimento que o cliente aprova): Quando o cliente revoga a autorização no banco, ela passa a REVOKED e as cobranças pendentes são canceladas; essa mudança não tem webhook, então consulte a autorização.
Para consultá-la a qualquer momento, com todas as cobranças, use GET .../pix-billing-automatic/{pixBillingAutomaticId}.

Etapa 3: Acompanhar cada cobrança

Os eventos PIX_BILLING_AUTOMATIC_SCHEDULE_* acompanham as cobranças individuais:
Quando o banco do cliente não consegue debitar uma cobrança, o Portão 3 pede uma nova tentativa um ou dois dias depois — até três tentativas no total, contando a da data de vencimento, cada uma listada em attempts da cobrança — a menos que a recusa seja definitiva (por exemplo, o limite do cliente para o período foi atingido). Aí a cobrança passa a FAILED. Uma cobrança que o banco do cliente se recusa a agendar não tem webhook: ela termina como SCHEDULE_ERROR, ou continua CREATED depois da data dela, sem external.scheduleId e com um evento SCHEDULE_ATTEMPT_FAILED no histórico. Se você depende de webhooks, consulte também as cobranças da carteira com status=SCHEDULE_ERROR (trate como FAILED) e com status=CREATED e um maxDueDate no passado. Uma cobrança CREATED assim provavelmente foi recusada — mas, em casos raros, o banco do cliente aceitou e a confirmação se perdeu; então confirme com o suporte do Portão 3 antes de cobrá-la de outra forma. Uma cobrança CREATED depois da data que tem external.scheduleId ainda está sendo processada pelo banco do cliente: espere o resultado — não a cobre de outra forma. Para ver o que vence e o que foi pago em todas as autorizações da carteira, use GET .../wallets/{walletId}/pix-billing-automatic/schedules, filtrando por status e data de vencimento. Os eventos de uma autorização — a criação e os cancelamentos, cada atualização do banco do cliente, com o erro — estão em GET .../pix-billing-automatic/{pixBillingAutomaticId}/history.

Alterar o valor de uma cobrança

Ajuste uma cobrança individual (por exemplo, uma cobrança parcial) atualizando-a, referenciando tanto o ID da autorização quanto o ID da cobrança:
O novo amount (centavos) deve permanecer dentro da faixa minAmount/maxAmount da autorização; se for precisar, crie a autorização com uma faixa variável. Só uma cobrança recorrente que ainda não foi enviada ao banco do cliente (CREATED) pode mudar; o primeiro pagamento não, ele vai com a autorização. Referência: PUT .../pix-billing-automatic/{pixBillingAutomaticId}/schedules/{pixBillingAutomaticScheduleId}. Para listar e filtrar autorizações, use GET .../wallets/{walletId}/pix-billing-automatic.

Cancelar

Uma cobrança já enviada ao banco do cliente não pode ser cancelada na data dela ou depois. As duas respondem 204 No Content.

Recorrer a boleto em caso de falhas repetidas

Quando as cobranças continuam falhando (FAILED ou SCHEDULE_ERROR), emita um boleto pelo mesmo valor para que o cliente ainda possa pagar:
O boleto volta CREATED, com o digitableLine e o barcode para apresentar ao cliente — ou baixe o PDF com GET .../boleto-billing/{boletoId}/download/pdf. Raramente ele volta INITIATED, ainda sem eles: consulte-o até ficar CREATED. Uma cobrança por boleto não tem webhook, então consulte-a com GET .../boleto-billing/{boletoId} para saber quando ela fica PAID. Você também pode adicionar regras de desconto, multa e juros (txnDiscountAmount, txnFineAmount, txnInterestAmount) — veja Cobrar com boleto e a referência do endpoint para o corpo completo. Referência: POST .../wallets/{walletId}/boleto-billing

Próximos passos

Receber webhooks

Envelope de entrega e o catálogo completo de eventos.

Cobrar com PIX

Cobranças PIX avulsas com QR Code.