Skip to content

Devolucao PIX

Inicia uma devolucao (total ou parcial) de uma transacao PIX recebida.

Endpoint

POST /api/external/pix/refund

Headers

HeaderTipoObrigatorioDescricao
AuthorizationStringSimApiKey {client_id}:{client_secret}
Content-TypeStringSimapplication/json
hmacStringSimAssinatura HMAC-SHA512 do body (saiba mais)
Idempotency-KeyStringNaoChave unica para evitar processamento duplicado (max 256 chars)

Request Body

CampoTipoObrigatorioDescricaoExemplo
original_transaction_idStringSimID da transacao PIX original recebida"7popu57v6us7p6pcicgq12345"
amountIntegerNaoValor a devolver em centavos. Se omitido, devolve o valor total.3000 (R$ 30,00)
reasonStringSimCodigo de devolucao BACEN (veja tabela abaixo)"MD06"

Aliases aceitos

Os seguintes campos tambem sao aceitos como alias para original_transaction_id: original_e2e_id, transaction_id, end_to_end_id.

Valores monetarios

O amount da requisicao e em centavos (R$ 30,00 = 3000). O amount da resposta e em unidades base (R$ 30,00 = 300000). Nunca use ponto flutuante.

Devolucao parcial

Para devolucao parcial, informe um amount menor que o valor original. O valor total das devolucoes de uma mesma transacao nao pode exceder o valor original recebido.

Codigos de Devolucao

CodigoDescricao
MD06Devolucao por acordo entre as partes
BE08Fraude
AM09Valor incorreto
SL02Erro de liquidacao
RR04Transacao nao reconhecida

Exemplo

bash
BODY='{"original_transaction_id":"7popu57v6us7p6pcicgq12345","amount":3000,"reason":"MD06"}'
HMAC=$(echo -n "$BODY" | openssl dgst -sha512 -hmac "$CLIENT_SECRET" | awk '{print $2}')

curl -X POST https://api.owem.com.br/api/external/pix/refund \
  -H "Authorization: ApiKey $CLIENT_ID:$CLIENT_SECRET" \
  -H "Content-Type: application/json" \
  -H "hmac: $HMAC" \
  -d "$BODY"

Resposta de Sucesso (200)

json
{
  "worked": true,
  "refund_id": "PIXRET20260307a1b2c3d4e5f6",
  "transaction_id": "7popu57v6us7p6pcicgq12345",
  "amount": 300000,
  "status": "processing"
}
CampoTipoDescricao
workedBooleantrue indica sucesso na operacao
refund_idStringIdentificador unico da devolucao
transaction_idStringID da transacao original
amountIntegerValor da devolucao em unidades base (÷ 10.000 para reais). 300000 = R$ 30,00
statusStringStatus inicial: processing

Resposta de Erro (404)

json
{
  "worked": false,
  "detail": "Transacao original nao encontrada"
}

Resposta de Erro (422)

json
{
  "worked": false,
  "detail": "Saldo insuficiente para devolucao"
}

Resposta de Erro (422) -- Valor excedido

json
{
  "worked": false,
  "detail": "Valor da devolucao excede o valor original da transacao"
}

Prazo para devolucao

Devolucoes com codigo MD06 (acordo) podem ser realizadas em ate 90 dias apos o recebimento. Devolucoes por fraude (BE08) seguem os prazos do MED definidos pelo BACEN.

Owem Pay Instituição de Pagamento — ISPB 37839059