Skip to main content
Transações representam pagamentos avulsos processados pela Veepag. Use este fluxo quando você precisa cobrar um cliente diretamente, consultar o histórico de pagamentos, capturar uma autorização ou cancelar/estornar uma operação.

Criar uma transação

POST /v1/transaction cria uma transação avulsa. Para pagamento com cartão, envie os dados em paymentProfile: número, validade, nome do portador e, quando necessário, CVV.
Para o cartão não passar pelo seu servidor, cifre os dados no browser e envie token no lugar de paymentProfile. O passo a passo está em Tokenização.
No exemplo abaixo, criamos uma transação no sandbox com um cliente informado no próprio payload.
Em transações, envie amount em centavos. Por exemplo, 9900 representa R$ 99,00.

Configurar split na transação

Envie split no corpo de POST /v1/transaction para definir a divisão desta venda. Quando split.active for true, estas regras têm prioridade sobre o split configurado no produto ou na empresa. Se você omitir split ou enviar active: false, o fluxo pode usar o split ativo do produto ou, na ausência dele, o da empresa. Cada regra aponta para uma empresa recebedora e define a parcela por valor ou percentual. A empresa informada em companyId precisa estar cadastrada e configurada como recebedora na integração de pagamento.
Cada regra precisa informar amount ou percentage. Prefira informar apenas um dos dois; se ambos forem enviados, a Veepag usa amount. O padrão de chargeProcessingFee é true e o de chargeRecipientProcessingFee é false.
Há duas formas diferentes de tratar a taxa: chargeProcessingFee define o cálculo e a divisão proporcional associada à regra; chargeRecipientProcessingFee concentra a taxa inteira em um recebedor específico. Use chargeProcessingFee: false junto com chargeRecipientProcessingFee: true para atribuí-la integralmente a esse recebedor. Confira a regra comercial acordada para a sua conta antes de escolher os valores.

Consultar transações

GET /v1/transaction retorna um objeto paginado. Ele é indicado para telas administrativas, conciliação e buscas operacionais. Use rangeTime com sort.property para filtros temporais. Isso deixa a consulta mais clara e ajuda a evitar buscas amplas demais.
GET /v2/transaction retorna um array direto, sem paginação. Ele exige companyId e um filtro por período de até 7 dias ou um identificador (id ou tid).

Capturar uma autorização

POST /v1/transaction/capture captura uma transação previamente autorizada. Use esse endpoint quando o pagamento foi autorizado antes, mas a captura ficou para uma etapa posterior. A captura usa o valor salvo na própria transação (transaction.amount.value). O campo amount existe no DTO, mas não é usado pelo fluxo atual de captura.
Também é aceito tid. Pelo menos um identificador é necessário em runtime.

Cancelar uma transação

PUT /v1/transaction/cancel cancela ou estorna uma transação.
Se cancelSubscription for true, a assinatura vinculada também pode ser cancelada. Use essa opção com cuidado quando a transação fizer parte de uma recorrência.

Exportar transações

GET /v1/transaction/exports exporta até 10.000 itens. Se o filtro exceder esse limite, reduza o período ou refine os filtros.
Para exportações grandes, prefira períodos menores. Isso melhora o tempo de resposta e facilita conferir os dados depois.