Skip to main content
Uma transaction é um lançamento no extrato da sua organização: quanto dinheiro entrou (ou saiu), quando liquida e o que foi descontado no caminho. Cada parcela de uma venda é um lançamento próprio e um estorno é um lançamento negativo — o extrato reflete o dinheiro se movendo, não a venda como um todo. A venda como experiência — parcelamento escolhido, juros, desconto — vive no payment intent. A transaction é a contabilidade: net_amount = amount - fee_amount, sempre, e fee_amount é a soma dos itens de fee_details.

Sinal dos valores

Entradas são positivas e saídas são negativas. A regra existe para que somar não tenha caso especial: somar net_amount de qualquer conjunto de movimentos dá o efeito líquido no seu saldo — sem inverter sinal por tipo, sem excluir estorno. Um estorno de R$ 50,00 aparece como amount: -5000, fee_amount: 0 e net_amount: -5000 — a taxa da venda original não é devolvida, então não há o que deduzir do movimento de saída.

Objeto transaction

Este é o formato completo retornado em get, itens de list e em data.object dos webhooks transaction.*.
string
Identificador único do movimento. Usa o prefixo txn_*.
string
Sempre "transaction".
integer
O bruto do movimento em centavos: todo o dinheiro que entrou (ou saiu) antes dos componentes de fee. É de onde fee_amount é descontado para chegar em net_amount.O que ele representa muda com o tipo do movimento:
  • Parcela de venda (charge): a fatia daquela parcela no total pago pelo comprador — incluindo juros de parcelamento, quando houver. Numa venda de R$ 1.100,00 em 10x, cada movimento tem amount: 11000.
  • Fee (platform_fee, chargefy_fee): o valor bruto da fee daquela parcela, antes do custo de quem a recebe.
  • Estorno (refund): valor negativo — é dinheiro saindo da conta. Um estorno de R$ 50,00 tem amount: -5000.
Nunca é 0: movimento sem dinheiro não vira lançamento.
string | null
Previsão de liquidação (ISO 8601). null enquanto a data depende da conciliação. Quando o movimento liquida, settled_at traz a data efetiva — compare os dois para medir atraso.
string
Data de criação em formato ISO 8601.
string
Moeda em minúsculas. Hoje sempre brl.
string | null
Rótulo derivado do movimento, quando aplicável (ex.: Installment 2/10, Refund).
integer
Total descontado do bruto, em centavos. 0 quando não há desconto. Nunca é negativo — é a soma exata dos itens de fee_details.
array
Decomposição tipada do fee_amount. Vazio quando não há desconto. Cada item diz por que aquele valor saiu do bruto.O lojista nunca vê como a taxa que ele paga se divide entre a plataforma e a Chargefy — essa decomposição pertence ao movimento da plataforma, não ao dele.
integer | null
Número da parcela (1-based). null em movimentos não parcelados.
integer | null
Total de parcelas da venda. null em movimentos não parcelados.
boolean
false em modo de teste.
object
Sempre {} — metadados vivem no payment intent.
integer
Líquido do movimento, em centavos, com sinal: amount - fee_amount. É o que impacta o extrato — some este campo para fechar caixa.
string | null
Pagamento que originou o movimento, quando houver. É por onde se chega na venda como experiência: parcelas escolhidas, juros e desconto.
string | null
Quando o movimento liquidou de fato. null enquanto pendente.
string | null
O objeto que causou o movimento. É a ponte entre o extrato e o evento de negócio que o originou.Use para agrupar: todos os movimentos com o mesmo ch_ pertencem à mesma cobrança — em venda parcelada, são as N parcelas.
string
Situação do movimento.
string
A natureza do movimento — “que dinheiro é esse”. Quais você recebe depende do papel da sua organização: um lojista vê as vendas e os estornos dele; uma plataforma vê, além dos próprios, a platform_fee que cobra das organizações conectadas.Um mesmo pagamento gera movimentos diferentes para cada parte, e cada uma só enxerga os seus. Numa venda por plataforma, o lojista recebe o charge com a taxa que ele pagou; a plataforma recebe o platform_fee com a fee dela. Nenhum dos dois vê o movimento do outro.
string | null
Última atualização em formato ISO 8601.

Operações

O extrato é somente leitura: os movimentos nascem do processamento de pagamentos, nunca de uma chamada do parceiro.

Eventos

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

Como se relaciona

transaction é o recurso público do extrato financeiro. Use payment_intent para decidir o estado do pagamento e charge para investigar a tentativa concreta. Use Transaction para explicar bruto, taxas, líquido, parcelas, previsão e liquidação.

Lifecycle financeiro

Relação entre Payment Intent, Charge e Transaction.

Conciliar pagamentos

Como ligar pedidos, movimentos, taxas e liquidação.