Skip to main content
Antes de integrar, entenda o mapa. Uma assinatura na Autorizou nasce, cobra sozinha a cada ciclo, tenta de novo quando falha, e termina de um jeito previsível. O campo que você mais vai ler é o state, e o companheiro dele, has_access.

Os dois campos que importam

state
string
O momento da assinatura. É o que você usa para decidir o que mostrar ao seu cliente.
has_access
boolean
Libere ou bloqueie o seu serviço por aqui. É true quando o cliente deve ter acesso, false quando não. Você não precisa recalcular a regra a partir do state; nós já resolvemos.
Regra de ouro: entregue o seu produto quando has_access for true. Nunca amarre a entrega a um state específico, porque a lista pode crescer.

A tabela de estados

canceled com has_access: true não é contradição. O cliente cancelou, mas já pagou o mês corrente. Ele mantém acesso até o fim do período (next_charge_at) e pode até reativar nesse meio tempo.

Fluxo, do nascimento ao fim

Quando a cobrança se repete

A renovação é automática. Você não dispara a cobrança de cada ciclo; a plataforma faz sozinha na data next_charge_at. Quando falha, a régua de retentativas depende do método: O next_charge_amount de cada ciclo segue a régua de preços congelada na assinatura no momento em que ela nasceu. Editar a oferta depois nunca reprecifica quem já assina.

Eventos (webhooks)

Configure notification_url na criação para receber o estado em tempo real. Todo evento traz state, has_access, cycle, next_charge_at e um portal_url pronto do assinante.
Trate o webhook como confirmação, não como fonte da verdade. Se precisar do estado atual com certeza, consulte GET /subscriptions/{id}.

O portal do assinante

Toda assinatura tem um portal onde o seu cliente troca o cartão, cancela e reativa sozinho. Um portal_url pronto acompanha todo webhook de assinatura; e você gera um sob demanda em POST /subscriptions/{id}/portal-link. Menos suporte para você, mais autonomia para o cliente.