Skip to main content
Uma invoice (fatura) representa a cobrança periódica de uma assinatura ou de itens cobrados manualmente de um cliente. Ela centraliza as informações de valores devidos e pagos, os itens cobrados, os descontos aplicados e as referências aos recursos financeiros que permitem o pagamento, como o payment_intent e o customer. Na Chargefy, as invoices são geradas automaticamente pelo ciclo de faturamento de uma assinatura (subscription_cycle, subscription_create ou subscription_update) ou podem ser criadas de forma avulsa (manual) para cobranças específicas. Compras avulsas diretas (one-off) não geram invoices — essas passam direto pelos payment_intents para manter o fluxo leve e limpo. Toda invoice nasce pronta para cobrança em open ou já liquidada em paid, dependendo do fluxo que a criou. Em ciclos de assinatura com cobrança pausada, a invoice pode ficar em draft até ser revisada fora da cobrança automática. Os valores, itens de linha, vencimento e snapshots do customer ficam fixos desde a criação. Para corrigir esses dados, cancele a invoice (void) e crie uma nova. O campo hosted_invoice_url é a página pública dessa invoice em billing.chargefy.io/invoice/:token. O token é opaco e pode expirar; quando você recupera a invoice pela API, a resposta traz uma URL ativa. Enquanto a invoice está open, essa página pode receber pagamento pelos métodos permitidos em payment_method_types. Depois que a invoice é paga, cancelada ou marcada como incobrável, uma URL ativa continua servindo para visualização do estado da fatura, sem aceitar novo pagamento. Essa URL pertence a uma invoice específica. Ela não é um payment_link: payment links são URLs reutilizáveis de oferta que materializam checkout sessions novas a cada clique.

Data Object

Este é o formato completo retornado em create, get, itens de list, e em data.object dos webhooks invoice.*.
string
Identificador único da invoice, com o prefixo inv_*.
string
Sempre "invoice".
integer
Valor de saldo de crédito aplicado à invoice, em centavos.
integer
Valor do desconto aplicado em centavos.
integer
Valor devido em centavos. É imutável após a criação da invoice.
integer
Valor a pagar no momento da resposta, incluindo multa e juros acumulados quando aplicáveis.
integer
Valor pago em centavos.
integer
Valor restante devido em centavos.
integer
Subtotal em centavos, antes de descontos ou taxas.
integer
Valor de impostos/taxas calculados em centavos.
integer
Valor total em centavos, equivalente a amount_subtotal - amount_discount + amount_tax.
integer
Quantas tentativas de pagamento esta fatura acumulou, do ponto de vista da régua de recuperação. A primeira tentativa conta como 1; depois dela, apenas as retentativas automáticas incrementam.Cobrar a fatura manualmente — por POST /v1/invoices/:id/pay ou pelo painel — não move a régua. Isso é proposital: uma cobrança manual não deve consumir as tentativas automáticas que ainda restam ao cliente.Por isso o valor não é o tamanho de payments.data[]. Uma tentativa manual cria um pagamento sem contar, e uma retentativa que a régua pula — porque a recusa anterior foi de um tipo que repetir não resolve — conta sem criar pagamento nenhum.
string | null
O motivo de faturamento.
string
Método de cobrança.
string
Data de criação em formato ISO 8601.
string
Moeda da cobrança, em formato de 3 letras ISO (como brl).
string | null
ID do customer (cus_*) ao qual a invoice pertence.
object | null
Snapshot do endereço de cobrança do comprador.
string | null
Nome de faturamento do comprador.
string | null
Snapshot do documento fiscal (CPF/CNPJ) do comprador.
string | null
Tipo de documento fiscal do comprador.
string | null
Snapshot do e-mail do comprador.
string | null
Snapshot do nome do comprador no momento em que a invoice foi criada.
string | null
Payment method (pm_*) escolhido para esta invoice. Quando a invoice é paga sem payment_method explícito, a ordem de resolução é: payment_method do request, default_payment_method da invoice, default_payment_method da subscription, e default_payment_method do customer.
string | null
Descrição interna ou observação sobre a invoice.
string | null
Data de vencimento da fatura em formato ISO 8601.
integer
Saldo final do customer após a invoice, em centavos.
string | null
URL pública ativa onde o cliente pode ver a invoice. Enquanto a invoice está open, a página também permite pagamento pelos métodos em payment_method_types. O token da URL é opaco e pode ser renovado pela Chargefy; não tente montá-lo manualmente.
object | null
Configuração de juros da invoice.
integer | null
Valor de juros acumulado no momento da resposta, em centavos.
string | null
URL pública para download do PDF da fatura.
object | null
Configuração de multa por atraso da invoice, com type e value.Valores de type:
integer | null
Valor de multa acumulado no momento da resposta, em centavos.
string | null
ID do charge (ch_*) gerado na tentativa de pagamento bem-sucedida.
array
Lista de itens de linha faturados.
boolean
true se gerada em produção; false se em testes.
string | null
Data em que a cobrança foi marcada como incobrável.
object
Metadata livre. Retorna {} quando vazio.
string | null
Data e hora ISO 8601 da próxima tentativa automática de cobrança.É null quando a régua de recuperação terminou e sempre null quando collection_method é send_invoice, já que nesse modo a Chargefy não cobra automaticamente.
string
Número legível da fatura, sequencial por cliente (ex: K7M2-0001). Cada cliente recebe um prefixo próprio e a numeração reinicia nele. Sempre presente: atribuído na criação da fatura a partir do prefixo do cliente.
string | null
Data de liquidação da invoice.
string | null
ID do payment intent (pi_*) utilizado para a tentativa de pagamento mais recente desta invoice.
array
Meios de pagamento permitidos para a cobrança da invoice.
integer
Saldo inicial do customer antes da invoice, em centavos.
string | null
Descrição amigável que aparece na fatura do cartão do cliente.
string
Estado atual da invoice.
string | null
ID da assinatura (sub_*) associada a esta invoice.
string | null
Data da última atualização em formato ISO 8601.
string | null
Data em que a invoice foi cancelada.

Operações

Eventos

Mudanças nesse objeto disparam os seguintes eventos: O payload sempre carrega o objeto invoice completo em data.object.