2026-10-20
v0.34.0 — Assinaturas avisam cada pagamento, cada falha e o fim, também no Pix Automático
| Evento | Quando chega |
|---|---|
subscription.payment_failed | Um pagamento falhou: o cartão foi recusado, ou o banco recusou o débito do Pix Automático. Chega em cada falha. Antes, nenhum fluxo o enviava. |
subscription.cancelled | A assinatura terminou. Agora chega também quando um cancelamento agendado chega ao fim do período, quando um Pix Automático termina por falhas e quando o cliente recusa ou cancela a autorização no banco. |
subscription.created | No Pix Automático, chega quando a assinatura é criada, com status: waitingPayment, como no cartão. |
subscription.renewed | Chega a cada pagamento confirmado do Pix Automático, o primeiro também, como já acontecia no cartão. |
transaction.created e transaction.payment.succeeded | Chegam a cada pagamento do Pix Automático, e no pagamento de assinatura no cartão que a Celcoin já informa como pago. |
Quando o cliente recusa ou cancela a autorização no app do banco, a assinatura termina na hora, com cancellationReason: "authorization_rejected", e chega subscription.cancelled. Antes, a Garu tratava esse aviso como um débito que falhou: a assinatura ficava em past_due, e nada a encerrava.
As páginas de assinatura citavam eventos que nunca existiram (subscription.activated, subscription.payment_success, subscription.trial_ending) e um campo que a API não lê: cancelImmediately. Elas agora mostram os cinco eventos de assinatura, o formato real do payload e o campo certo, cancelAtPeriodEnd. Veja Webhooks.
subscription.payment_failed e os outros eventos, assine-os no painel, em Configurações → Webhooks.subscription.renewed, não no subscription.created. No Pix Automático, o subscription.created chega antes de o cliente autorizar no banco.cancelImmediately: true, troque por cancelAtPeriodEnd: false. A API não lê cancelImmediately, e o cancelamento fica agendado para o fim do período.