Guias/Integração

Idempotência

Evitar pagamentos, saques, reembolsos e transferências duplicados.

Nas operações que criam algo ou movimentam dinheiro, envie uma chave estável por operação no campo idempotency_key do corpo:

{ "idempotency_key": "pedido-4821" }

Repetir a chamada com a mesma chave — depois de um timeout, por exemplo — devolve a operação que já foi criada, em vez de criar outra. A chave vale por empresa: duas empresas podem usar o mesmo valor sem conflito.

const resposta = await fetch("https://integrate.api.kyvopay.com.br/v1/payments", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.KYVO_API_KEY!,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    amount_centavos: 4990,
    description: `Pedido ${pedido.id}`,
    idempotency_key: `pedido-${pedido.id}`,
    customer: { name: cliente.nome, email: cliente.email, document: cliente.cpf },
  }),
});

O campo aceito é idempotency_key em POST /v1/payments, /v1/payouts, /v1/refunds e /v1/transfers. A única rota que recebe a chave como header, Idempotency-Key, é a abertura de checkout de um link público (POST /v1/public/links/{slug}/checkout).

Atenção

Não gere uma nova chave para cada tentativa da mesma operação. Isso elimina a proteção contra duplicidade. Derive a chave do ID do pedido no seu sistema.

Precisa de ajuda? Fale com o suporte
© 2026 KyvoPay