Uma cobrança direta pode começar no
payment_intent, sem checkout session. Uma cobrança recorrente também se liga a subscription e invoice. O trecho financeiro a partir da charge continua o mesmo.
Qual objeto consultar
Entenda a matemática da venda
No payment intent, valores monetários são inteiros em centavos:principal_amount: valor do produto ou serviço, sem repasse de taxa nem juros;installment_interest_amount: juros pagos pelo comprador;installments: número de parcelas escolhido;surcharge_amount: repasse de taxa pago pelo comprador, quando houver;amount: total pago pelo comprador (principal_amount + surcharge_amount + installment_interest_amount).
Entenda o extrato
Cada transaction é um movimento de dinheiro. Uma venda em 10× gera 10 transactions — uma por parcela — e um estorno gera um movimento negativo. Cada uma traz:amount: bruto do movimento, com sinal (saídas são negativas);fee_amountefee_details: o total descontado e a decomposição item a item;net_amount: o líquido, sempreamount - fee_amount;installmentdeinstallment_count: qual parcela é;available_at: previsão de liquidação;settled_at: quando liquidou;status:pending,paid,canceledourefunded.
net_amount de uma listagem filtrada é somar o extrato — sem casos especiais. Use a referência de Transaction como contrato e não recalcule taxas a partir de percentuais comerciais: o movimento já traz os valores efetivamente aplicados. O valor é direcionado à conta para saques principal cadastrada; esse cadastro não garante o crédito. Confirme cada liquidação no extrato bancário e não modele uma fila de saques.
Fluxo diário de conciliação
1
Correlacione a venda
Envie sua referência de pedido em
client_reference_id — no create da
checkout session ou anexada à URL do payment link
(?client_reference_id=…) — e ela volta no objeto da sessão e nos webhooks
checkout.session.*. Use metadata para pares adicionais e persista os
IDs públicos retornados: checkout session, payment intent, charge,
transaction e invoice quando existirem.2
Feche o resultado da cobrança
Use webhooks para atualizar o payment intent e suas charges. Uma tentativa
falha não significa que o pedido terminou se o mesmo intent ainda pode
receber outro método.
3
Importe a composição financeira
Consulte transactions pelo período e compare principal, juros, descontos,
taxas e total com o pedido e seus relatórios internos.
4
Projete e confirme caixa
Liste transactions por
available_at e status. Quando chegarem a paid,
registre settled_at e compare o valor com a conta para saques.5
Trate exceções
Separe falhas de cobrança, divergência de valor, movimento atrasado,
reembolso e disputa em filas operacionais diferentes.
Status que merecem atenção
Reembolsos e disputas
Não altere ou apague a venda original em seu razão interno. Registre reembolso e disputa como movimentos relacionados:- ligue
refundà charge e ao pedido; - acompanhe o status do refund até seu estado final;
- atualize a previsão quando movimentos forem cancelados ou reembolsados;
- preserve valores originais da transaction para auditoria;
- mantenha evidências e prazos da disputa fora do fluxo de liquidação cotidiana.
Plataformas
Uma organização conectada enxerga a taxa única acordada com a plataforma. Cada movimento é visível para o seu dono: a organização vê a venda dela; a plataforma vê a própriaplatform_fee. Não tente reconstruir margens que o contrato não expõe ao contexto atual.
Sempre mantenha o organization de origem junto aos IDs financeiros. Isso evita conciliar vendas de sellers diferentes na mesma linha ou aplicar um evento ao ledger errado.
Investigação
Quando houver divergência, comece pelo ID do seu pedido e atravesse os objetos relacionados. O recurso Request mostra path, status HTTP, erro e objetos gerados com campos sensíveis mascarados. A página de Eventos ajuda a verificar quais transições foram emitidas.Transactions
Consulte a matemática financeira de cada venda.
Transactions
Acompanhe parcelas, previsão e liquidação.
Reembolsos
Entenda como a devolução afeta o fluxo financeiro.
Request Logs
Investigue chamadas e objetos relacionados.

