Skip to content

Remboursement PIX

Initie un remboursement (total ou partiel) d'une transaction PIX recue.

Endpoint

POST /api/external/pix/refund

En-tetes

En-teteTypeObligatoireDescription
AuthorizationStringOuiApiKey {client_id}:{client_secret}
Content-TypeStringOuiapplication/json
hmacStringOuiSignature HMAC-SHA512 du body (en savoir plus)
Idempotency-KeyStringNonCle unique pour eviter le traitement en double (max 256 chars)

Request Body

ChampTypeObligatoireDescriptionExemple
transaction_idStringOuiID de la transaction PIX originale recue"7popu57v6us7p6pcicgq12345"
amountIntegerNonMontant a rembourser en centavos. Si omis, rembourse le montant total.3000 (R$ 30,00)
reasonStringOuiCode de remboursement BACEN (voir tableau ci-dessous)"MD06"

Valeurs monetaires

Le amount de la requete est en centavos (R$ 30,00 = 3000). Le amount de la reponse est en unites de base (R$ 30,00 = 300000). N'utilisez jamais de virgule flottante.

Remboursement partiel

Pour un remboursement partiel, indiquez un amount inferieur au montant original. Le montant total des remboursements d'une meme transaction ne peut pas depasser le montant original recu.

Codes de Remboursement

CodeDescription
MD06Remboursement par accord entre les parties
BE08Fraude
AM09Montant incorrect
SL02Erreur de liquidation
RR04Transaction non reconnue

Exemple

bash
BODY='{"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"

Reponse de Succes (200)

json
{
  "worked": true,
  "refund_id": "PIXRET20260307a1b2c3d4e5f6",
  "transaction_id": "7popu57v6us7p6pcicgq12345",
  "amount": 300000,
  "status": "processing"
}
ChampTypeDescription
workedBooleantrue indique le succes de l'operation
refund_idStringIdentifiant unique du remboursement
transaction_idStringID de la transaction originale
amountIntegerMontant du remboursement en unites de base (/ 10 000 pour reais). 300000 = R$ 30,00
statusStringStatut initial : processing

Reponse d'Erreur (404)

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

Reponse d'Erreur (422)

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

Reponse d'Erreur (422) -- Montant depasse

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

Delai de remboursement

Les remboursements avec le code MD06 (accord) peuvent etre effectues dans un delai de 90 jours apres la reception. Les remboursements pour fraude (BE08) suivent les delais MED definis par le BACEN.

Owem Pay Instituição de Pagamento — ISPB 37839059