Skip to main content
DELETE
/
api
/
transactions
/
{id}
Cancelar Transação
curl --request DELETE \
  --url https://garu.com.br/api/transactions/{id} \
  --header 'Authorization: Bearer <token>'

Documentation Index

Fetch the complete documentation index at: https://docs.garu.com.br/llms.txt

Use this file to discover all available pages before exploring further.

Visão Geral

Cancele uma transação que ainda não foi paga. Este endpoint só funciona para transações com status pendente (pendingBoleto ou pendingPix).
Para transações já pagas, use o endpoint de Reembolso.

Exemplo de Requisição

curl -X DELETE https://garu.com.br/api/transactions/12345 \
  -H "Authorization: Bearer sk_test_sua_chave_api"

Resposta de Sucesso (200 OK)

true
A resposta é true indicando que a transação foi cancelada com sucesso.

Quando Usar

  • Cliente desistiu da compra antes de pagar
  • Boleto gerado por engano
  • PIX não foi pago dentro do prazo esperado
  • Transação duplicada

Erros Comuns

{
  "statusCode": 400,
  "message": "Transaction cannot be cancelled"
}
Solução: Apenas transações pendentes podem ser canceladas. Se a transação já foi paga, use o endpoint de reembolso.
{
  "statusCode": 404,
  "message": "Transaction not found"
}
Solução: Verifique se o ID da transação está correto.

Exemplo: Cancelar Transações Pendentes Antigas

async function cancelarTransacoesPendentesAntigas(diasAntigos = 7) {
  // Buscar transações pendentes
  const response = await fetch(
    'https://garu.com.br/api/transactions?status=pendingBoleto&limit=100',
    {
      headers: {
        'Authorization': `Bearer ${process.env.GARU_API_KEY}`
      }
    }
  );

  const { data: transacoes } = await response.json();
  const agora = new Date();
  const canceladas = [];

  for (const tx of transacoes) {
    const criacao = new Date(tx.createdAt);
    const diasPassados = (agora - criacao) / (1000 * 60 * 60 * 24);

    if (diasPassados > diasAntigos) {
      await fetch(
        `https://garu.com.br/api/transactions/${tx.id}`,
        {
          method: 'DELETE',
          headers: {
            'Authorization': `Bearer ${process.env.GARU_API_KEY}`
          }
        }
      );
      canceladas.push(tx.id);
    }
  }

  console.log(`${canceladas.length} transações canceladas`);
  return canceladas;
}

Próximos Passos

Reembolsar

Reembolse transações já pagas

Listar Transações

Consulte todas as transações