billing).
A API de Billing usa uma base URL própria, diferente da Core API. Nos exemplos desta seção a
base é
https://billing-api.sandbox.z2pay.com. A autenticação é a mesma do resto da
plataforma: 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 componentes que a compõem. Começa em
draft, é publicado (active) e pode ser arquivado (archived).Preço (Price)
Uma versão de preço de um componente do plano: define
unitAmount (em centavos),
currency 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 via PSP 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 agendador do Billing cuida do resto. A cada ciclo ele gera a próxima fatura, dispara a cobrança via PSP e atualiza o status da assinatura conforme o resultado.Criação
Você cria a assinatura (
POST /subscriptions). Se um defaultPaymentMethodRef for informado,
ela nasce pronta para cobrar; sem método de pagamento, nasce incomplete.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).Cobrança
Com
collectionMethod=charge_automatically (default), o Billing cobra o método de pagamento
padrão. Cada cobrança vira uma transação no PSP com origin=billing. Com send_invoice, a
fatura é apenas emitida para o cliente pagar.Endpoints principais
Visão consolidada dos recursos de Billing. Cada grupo tem sua própria página de referência com os campos completos do corpo e exemplos. Todas as rotas exigem o headerx-api-key.
Planos e Preços
| Método | Rota | Descrição |
|---|---|---|
POST | /plans | Cria um plano (status inicial draft). |
GET | /plans | Lista planos (paginado, com filtros). |
GET | /plans/:id | Detalha um plano. |
PATCH | /plans/:id | Atualiza campos do plano. |
POST | /plans/:id/publish | Publica o plano (draft → active). |
POST | /plans/:id/archive | Arquiva o plano. |
GET | /plans/:id/template | Retorna o plano + componentes com o Preço atual de cada um. |
GET | /plans/:id/items | Lista os componentes do plano. |
POST | /plans/:id/items | Adiciona um componente ao plano. |
PATCH | /plans/:id/items/:itemId | Atualiza um componente. |
DELETE | /plans/:id/items/:itemId | Arquiva um componente. |
GET | /plans/:id/prices | Lista as versões de Preço do plano. |
POST | /plans/:id/prices | Cria uma nova versão de Preço. |
POST | /plans/:id/prices/:priceId/archive | Arquiva uma versão de Preço. |
POST | /plans/:id/charges | Cria componente + Preço inicial atomicamente. |
Assinaturas
| Método | Rota | Descrição |
|---|---|---|
POST | /subscriptions | Cria uma assinatura. |
GET | /subscriptions | Lista assinaturas (paginado, com filtros). |
GET | /subscriptions/:id | Detalha uma assinatura. |
GET | /subscriptions/:id/items | Lista os itens ativos da assinatura. |
POST | /subscriptions/:id/cancel | Cancela (imediato ou ao fim do ciclo). |
POST | /subscriptions/:id/uncancel | Desfaz um cancelamento agendado. |
POST | /subscriptions/:id/pause | Pausa a assinatura. |
POST | /subscriptions/:id/resume | Retoma uma assinatura pausada. |
Faturas
| Método | Rota | Descrição |
|---|---|---|
GET | /invoices | Lista faturas (paginado, com filtros). |
GET | /invoices/:id | Detalha uma fatura. |
GET | /invoices/:id/line-items | Lista os itens de linha da fatura. |
Os endpoints de criação e de ação (
POST .../publish, POST .../cancel, POST .../pause,
etc.) 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.Primeiro contato (sandbox)
UmGET rápido para confirmar que a sua chave de sandbox alcança a API de Billing e lista as
assinaturas existentes (a lista vem vazia se você ainda não criou nenhuma).
Erros
Os endpoints de Billing seguem o mesmo padrão de erro da plataforma. 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, pausar uma assinaturaupfront, 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
Receba notificações de fatura paga, falha de cobrança e mudanças de status.

