Integração com Webhook Pix, Cobranças e Devoluções

EXIBINDO RESPOSTAS:

Avatar discord do usuario meliodas7010

meliodas7010

ah! certo. Essa parte de webhook esta um pouco confusa pra mim pois não consigo testar localmente.
Na documentação mostra o corpo da requisição pix, mas ainda estou um pouco confuso. Gostaria de saber se estou tendo o approach correto:
Eu gero a cobrança pix pro meu cliente e salvo no meu banco aquela cobrança como pendente usando o txid como identificador. No meu webhook eu recebo a requisição:

// 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"
}
]
}
O que quer dizer que o pix com txid fc9a43k6ff384ryP5f41719 foi pago no valor de 0.01, então verifico aquela transação salva no meu banco e continuo minha logica a partir desse ponto. Esta correto?
Minha duvida é se eu vou receber outras requisições no meu webhook com o mesmo txid podendo assim fazer minha logica ser executada mais de uma vez

Avatar discord do usuario rubenskuhl

rubenskuhl

Você precisa lidar com eventuais repetições para garantir idempotência. Mas fora repetições fortuitas, um possível motivo para receber um webhook de um Pix depois do pagamento é você comandar devoluções. Mas ainda você pode anotar na tabela algo como "solicitei devolução", para então tratar o campo de devolução.