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. No exemplo abaixo, criamos uma transação no sandbox com um cliente informado no próprio payload.
curl --request POST 'https://sandbox.api.veepag.com/v1/transaction' \
  --header 'apiKey: keyId.secret' \
  --header 'Content-Type: application/json' \
  --data '{
    "companyId": "company_id",
    "amount": 9900,
    "installments": 1,
    "capture": true,
    "paymentProfile": {
      "cardNumber": "4111111111111111",
      "cardExpiration": "10/2026",
      "holderName": "MARIA SILVA",
      "cardCvv": "123"
    },
    "client": {
      "name": "Maria Silva",
      "doc": "12345678909",
      "email": "maria.silva@example.com"
    }
  }'
Em transações, envie amount em centavos. Por exemplo, 9900 representa R$ 99,00.

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.
curl --request GET 'https://sandbox.api.veepag.com/v1/transaction?page=1&limit=20&sort.property=createdAt&sort.order=desc' \
  --header 'apiKey: keyId.secret'
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.
{
  "companyId": "company_id",
  "transactionId": "transaction_id"
}
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.
{
  "companyId": "company_id",
  "transactionId": "transaction_id",
  "cancelSubscription": false
}
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.