Como tratar um Estorno do Pix via Webhook

EXIBINDO RESPOSTAS:

Avatar discord do usuario wiliambuzatto

wiliambuzatto

Pessoal, quando ocorre um Estorno do Pix,
como isso é informado pelo webhook?

Avatar discord do usuario guilherme_efi

guilherme_efi

Boa tarde, <@!368831711750127616>!
Será enviado para seu webhook um JSON com a informação do Pix que foi pago juntamente com do array devolucoes. Salientando que pode haver uma única devolução integral, ou várias parciais até completar 100% do valor (https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-recebendo-callbacks). Segue um exemplo:

json
// Devolução
{
"pix": [
{
"endToEndId": "E12345678202009091221syhgfgufg",
"txid": "c3e0e7a4e7f1469a9f782d3d4999343c",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "110.00",
"horario": "2020-09-09T20:15:00.358Z",
"infoPagador": "0123456789",
"devolucoes":[
{
"id": "IdentificadorDevolucao001",
"rtrId": "D12345678202009091221abcdf098765",
"valor": "110.00",
"horario": {
"solicitacao": "2020-09-09T20:15:00.358Z"
},
"status": "DEVOLVIDO"
}
]
}
]
}

Avatar discord do usuario wiliambuzatto

wiliambuzatto

O campo status então sai do nó de cima (do nivel do endToEndId), e entra na lista de devoluções..

Avatar discord do usuario guilherme_efi

guilherme_efi

No nó de cima que contém o endToEndId não possui o parâmetro status.
Somente por constar o endToEndId significa que a transação foi efetuada, pois se o pagamento do pix não for efetuado, não irá acionar o webhook. Segue o exemplo:

json
// Pix recebido
{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix"
}
]
}

Já no array devolucoes possui o status pois ele pode retornar "DEVOLVIDO" ou "NAO_REALIZADO"