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 emget, 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:charge.succeededcharge.failedcharge.updatedcharge.refundedcharge.dispute.createdcharge.dispute.updatedcharge.dispute.closed
charge completo em data.object.
Como se relaciona
payment_intentacompanha o ciclo da cobrança e aponta para a Charge mais recente emlatest_charge.chargeregistra 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.
transactionregistra 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.

