billing).
Os exemplos desta seção usam a base de sandbox
https://api.sandbox.z2pay.com/v1 e o header
x-api-key com a sua chave de sandbox. Veja
Autenticação e Ambientes.O modelo: Plano → Preço → Assinatura → Fatura
A recorrência é construída a partir de quatro recursos encadeados. Entender essa cadeia é o primeiro passo para integrar.Plano (Plan)
O catálogo da oferta recorrente: nome, código e os itens que a compõem. Nasce publicado
(
active), pode ser pausado (inactive, pelo painel) e arquivado
(archived).Preço (Price)
Uma versão de preço de um item do plano: define
amount (em centavos) e a
recurrence (a cada quanto cobra). Versionado — criar um novo Preço
desativa o anterior da mesma moeda/recorrência.Assinatura (Subscription)
Vincula um cliente a um plano (ou a itens avulsos). É o contrato vivo: tem status,
método de pagamento padrão, data da próxima fatura e ciclos.
Fatura (Invoice)
O documento de cobrança de um ciclo. Nasce de uma assinatura, é cobrada e
transiciona entre
open, paid, past_due, etc.Você não precisa criar um Plano para ter uma assinatura. É possível criar uma assinatura
com itens avulsos (inline), informando
description e unitAmount diretamente — nesse caso
recurrence e currency passam a ser obrigatórios no corpo da assinatura. O caminho via Plano
é o recomendado quando você vende a mesma oferta para muitos clientes.Como os ciclos funcionam
Depois que a assinatura existe, o nosso agendador cuida do resto. A cada ciclo ele gera a próxima fatura, dispara a cobrança e atualiza o status da assinatura conforme o resultado.1
Criação
Você cria a assinatura (
POST /subscriptions). Sem trial nem adesão: com
defaultPaymentMethodRef ela nasce active; sem forma de pagamento, nasce incomplete.
Trial e adesão têm estados iniciais próprios — veja
a tabela completa.2
Geração da fatura
Por padrão (
invoiceGenerationMode=just_in_time) o agendador gera uma fatura por ciclo.
Em upfront, todas as maxCycles faturas são emitidas já na criação (cada uma com vencimento
próprio).3
Cobrança
Cobramos a forma de pagamento padrão da assinatura, e cada cobrança vira uma transação.
Sem forma de pagamento definida, a fatura é emitida e fica aguardando — use o link público dela
para o cliente pagar.
4
Próximo ciclo
Paga a fatura, o agendador avança a assinatura para o próximo ciclo e repete — até atingir
maxCycles (se definido) ou até cancelamento.Checkout como porta de entrada — além do
POST /subscriptions, uma assinatura pode nascer de
um link de Checkout com mode=subscription: o comprador paga a Session e
a ativação da assinatura é automática após o pagamento — a 1ª fatura já nasce paga, sem nova
cobrança. Com trial configurado, a assinatura nasce trialing e a cobrança do Checkout é apenas a
validação do cartão, estornada automaticamente. A assinatura criada assim carrega o Link e a
Session de origem no metadata — veja
Assinaturas via Checkout.Onde ficam os endpoints
São 21 rotas, e cada recurso mantém o mapa das suas — com os campos, os exemplos e o playground:
Todas exigem o header
x-api-key.
A criação e as ações aceitam o header opcional
Idempotency-Key. Reenviar a mesma requisição com
a mesma chave devolve o mesmo resultado, sem duplicar a operação. Veja
Convenções.Ligar a fatura à transação
Toda cobrança da engine cria uma transação comum, das que aparecem em Transações. Três marcas permitem reconciliar as duas pontas:
O mesmo par
origin/billingInvoiceId vai no additionalInfo de cada pagamento da transação.
Primeiro contato (sandbox)
UmGET rápido para confirmar que a sua chave de sandbox alcança a API e lista as
assinaturas existentes (a lista vem vazia se você ainda não criou nenhuma).
Erros
Estes endpoints seguem o mesmo padrão de erro do resto da API. Status comuns nesta seção:404— recurso não encontrado (assinatura, plano, preço ou cliente inexistente).409— operação inválida para o estado atual (ex.: cancelar uma assinatura já cancelada, retomar uma assinatura que não está pausada, ou conflito de validação ao criar).400— corpo inválido (ex.: campos obrigatórios ausentes ou combinação proibida de campos).
Veja também
Planos e Preços
Monte o catálogo da sua oferta recorrente.
Assinaturas
Crie, cancele, pause e retome contratos.
Faturas
Consulte as cobranças geradas a cada ciclo.
Ciclos e cobrança
Entenda geração de fatura, cobrança e avanço de ciclo.
Clientes
A assinatura sempre aponta para um cliente.
Webhooks
Assine os 17 eventos
subscription.* e invoice.* (ex.: invoice.paid,
subscription.past_due). Nem toda mudança de status gera evento — completed e
incomplete_expired não têm webhook próprio.