Skip to main content
Uma charge representa uma tentativa real de pagamento gerada a partir da confirmação de um payment_intent. Enquanto o intent identifica a cobrança e guarda as regras do fluxo financeiro, a Charge registra o resultado daquela tentativa específica — incluindo detalhes do método usado, erros de processamento e dados do recibo. Uma vez criado, o charge acompanha a evolução da cobrança: ele guarda o status de captura (em fluxos de pré-autorização e captura manual), o controle de reembolsos totais ou parciais através da lista de refunds, e eventuais contestações (disputes) abertas pelo comprador final. Você não cria charges diretamente — eles nascem automaticamente conforme as tentativas de pagamento são executadas no sistema.

Objeto charge

Este é o formato completo retornado em get, itens de list e em data.object dos webhooks charge.*.
string
Identificador único da cobrança. Usa o prefixo ch_*.
string
Sempre "charge".
integer
Valor total da cobrança em centavos.
integer
Valor capturado em centavos. Em faturamento padrão (captura automática), é igual a amount.
integer
Valor total reembolsado em centavos.
object
Dados cadastrais do comprador anexados à cobrança.
boolean
Define se a cobrança foi capturada. Fica false em caso de transações apenas autorizadas.
string
Data de criação em formato ISO 8601.
string
Moeda em código ISO de 3 letras (ex: brl).
string | null
ID do comprador (cus_*) associado a esta cobrança, se houver.
string | null
Descrição amigável da cobrança.
boolean
Define se esta cobrança possui um chargeback ou contestação ativa aberta pelo comprador.
string | null
ID da invoice (inv_*) relacionada à cobrança (caso gerada a partir de faturamento recorrente).
boolean
true se gerado em produção; false se em testes.
object
Metadados customizados livre. Retorna {} quando vazio.
boolean
Define se a cobrança foi paga com sucesso.
object | null
O motivo resolvido da falha, num único grupo. Fica null quando a cobrança não terminou recusada. Veja Códigos de falha.
string | null
ID do payment intent (pi_*) que deu origem a esta cobrança.
string | null
ID do método de pagamento (pm_*) utilizado para liquidar esta cobrança.
object
Snapshot detalhado e estruturado do método de pagamento utilizado.
string | null
URL para o recibo de pagamento público hospedado pela Chargefy.
boolean
Define se a cobrança foi reembolsada total ou parcialmente.
object
Lista contendo o histórico de reembolsos aplicados a esta cobrança.
string
Estado da cobrança.
string | null
Data da última atualização em formato ISO 8601.

Operações

Eventos

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

Como se relaciona

  • payment_intent acompanha o ciclo da cobrança e aponta para a Charge mais recente em latest_charge.
  • charge registra a tentativa concreta de cobrar o método e é somente leitura.
  • O mesmo Payment Intent pode ter várias Charges. A falha de uma Charge antiga não significa que a cobrança atual falhou; consulte o Payment Intent antes de rebaixar o estado do pedido.
  • transaction registra os movimentos financeiros gerados depois, incluindo parcelas, taxas, líquido e liquidação.

Lifecycle financeiro

Quando usar Payment Intent, Charge e Transaction.

Códigos de falha

Categorias e códigos públicos para tratar recusas.