Reembolso de Pix-In

Devolução de recebimento de uma cobrança - QR Code

No fluxo do PIX Cobrança, pode ser necessário efetuar o reembolso de alguma cobrança recebida, ou seja, devolver o valor de um QR Code ao pagador da transação.
É possível realizá-lo através do endpoint de reembolso, disponibilizado na aplicação.

Usado para:

  • Efetuar o reembolso total de um pagamento de QR Code recebido;

Como efetuar um reembolso:

ENDPOINT: https://kaizen.bt-staging.app/pix-service/wallets/:walletId/transactions/refund

Esse endpoint utiliza o método POST.

Modelo de requisição:

curl --location 'https://kaizen.bt-develop.app/pix-service/wallets/f259d2f8-006e-44cc-a016-f15dc206144a/transactions/refund' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer TOKEN \
--data '{
	"type": "CLIENT_EXTERNAL_ID", 
	"value": "COBNJOVTR75yGQK5cwCGMBY36MB",
	"priority": "high", 
	"amount": 2.05,
	"reason": "BE08", 
	"reasonInfo": "(INFO INTERNA) Frase de motivo do envio da devolução",
	"infoBetweenUsers": "(INFO COMPARTILHADA) estorno de pagamento via externalId:COBNJOVTR75yGQK5cwCGMBY36MB"
}'

Parâmetros de requisição:

CamposDescrição
walletID- Wallet do Cliente/emissora do QR Code

Modelo de requisição:

{
	"type": "CLIENT_EXTERNAL_ID", //CLIENT_EXTERNAL_ID | END_TO_END_ID
	"value": "{{externalId}}",
	"priority": "high",
	"amount": {{amount}},
	"reason": "BE08", 
	"reasonInfo": " (INFO INTERNA) Frase de motivo do envio da devolução",
	"infoBetweenUsers": "(INFO COMPARTILHADA) estorno de pagamento"
}

Descrição dos campos:

  • Campos em negrito, são obrigatórios.
campotipodescrição
typeENUM(CLIENT_EXTERNAL_ID | END_TO_END_ID)- Tipo de identificador da transação a ser reembolsada (END_TO_END_ID ou CLIENT_EXTERNAL_ID)
valuestring- Valor do identificador declarado no campo type
amountnumber- valor a ser reembolsado
reasonENUM(BE08 | FR01 | MD06 |SL02)- código de devolução Bacen
reasonInfostring(100)- Campo livre para descrição
- neste campo os dados não são compartilhados com os membros da trasnação, ficando somente registrada no BD interno do produto
infoBetweenUsersstring(100)- Campo livre para descrição
- neste campo os dados são compartilhados com os membros da transação

👍

infoBetweenUsers

este campo é equivalente ao "anotações PIX" conhecido no mercado de meios de pagamento

Motivos de devolução

códigodescrição
BE08(Erro Bancário): Esta devolução ocorre devido a um erro cometido pelo banco durante a transação.
FR01(Suspeita de Fraude): Essa devolução acontece quando há suspeita de atividade fraudulenta na transação.
MD06(Solicitada pelo Cliente): Nesse caso, a devolução é solicitada pelo próprio cliente final da transação.
SL02(Erro no Pix Saque ou Pix Troco): Esta devolução é relacionada a um erro que ocorreu durante uma transação de Pix Saque ou Pix Troco, resultando na devolução do valor em dinheiro.

Modelo de resposta:

{
        "id": "9199c580-2360-4d47-b2f0-c0a87fe524bb",
        "createdAt": "2023-04-06T20:09:11.625Z",
        "type": "deposit_refund",
        "amount": "0.21",
        "wallet": {
                "id": "ddfbfcd1-d094-4136-a908-ee489e694c6e",
                "createdAt": "2022-09-20T14:24:29.109Z",
                "updatedAt": null,
                "deletedAt": null,
                "client": "7d8d40b2-28db-4e6c-abe8-f0ee2520b3c0",
                "clientId": "7d8d40b2-28db-4e6c-abe8-f0ee2520b3c0",
                "accountId": "92bc81ae-f7bf-4437-ad58-9dd61b1ff4c4",
                "additionalData": {},
                "status": "ready",
                "ispb": "03311443",
                "bankBranch": "0001",
                "bankNumber": "10000052202",
                "isPixoleto": false,
                "limitValuePixOut": "100"
        },
        "externalTransactionId": "5b856657-0584-48c1-9d55-428357496364",
        "derivativeId": "7e6499bb-6134-463e-af0c-a96dba17b25a",
        "clientExternalId": "COBcgjdXAUPh99Nsix1vw3rTToX",
        "endToEndId": "E32778350202304062009u8woyCbXD9i",
        "source": {
                "type": "corporate",
                "taxId": "92949282000196",
                "account": {
                        "ispb": "03311443",
                        "type": "payment",
                        "bankBranch": "0001",
                        "bankNumber": "10000052202"
                }
        },
        "destination": {
                "name": "Kiana Fay",
                "type": "personal",
                "taxId": "72974107214",
                "account": {
                        "ispb": "32778350",
                        "type": "checking",
                        "bankBranch": "0001",
                        "bankNumber": "49695269"
                }
        },
        "states": [
                {
                        "id": "c1054c0b-c6c8-474c-a4e4-1d64f936c249",
                        "createdAt": "2023-04-06T20:09:11.635Z",
                        "additionalData": {},
                        "status": "pending"
                }
        ],
        "status": "pending"
}
{
        "status": 400,
        "message": "Insufficient Balance for refund, refund left: 1.45. Value requested was 900000",
        "details": {},
        "stackId": "7a0f9d6e-7987-4ebe-8471-65a2e9d252ee",
        "stack": false
}

Descrição dos campos:

CampoDescrição
idID da transação reembolsada
createdAtData e hora do reembolso
sourceWallet de origem do reembolso/ Wallet que recebeu o pagamento
destinationConta bancária que irá receber a devolução
typeTipo de transação executada
amountValor do reembolso/devolução
derivativeIdID da transação original PIX-In
statusStatus atual da transação (ver lista abaixo)
endToEndIdEnd-to-end da transação originária da devolução

📘

Status de Refund de PIX IN (Refund OUT)

As transações de Refund OUT possuem vários status, e esses são replicados de maneira cronológica através do campo "createdAt". Ou seja, dependendo do momento em que essa transação for consultada, um status atual será demonstrado:

  • pending - aguardando confirmação (Bacen) da requisição - (status inicial)
  • success - transação executada com sucesso - (status final)
  • failed - transação não executada por falha - (status final)