pix-api
pix-api copied to clipboard
Lista de devoluções no webhook
Olá! Com relação a assinatura do callback que o recebedor deve implementar para ser notificado dos recebimentos via webhook, consta que deve ser retornado a lista de devoluções. Mas como um recebimento não pode ser pago duplicado, faz sentido ter uma lista de devoluções no callback? Ou seria apenas um erro na documentação por conta do reaproveitamento dos schemas?

Eu entendi como a forma de mostrar que uma devolução foi concretizada, então não me pareceu um erro.
Não pode ser pago duplicado - a priori - mas pode ser devolvido em diferentes transações parciais, até o limite do valor do recebimento correspondente.
Exemplo:
- cliente faz pedido de 5 produtos diferentes.
- lojista informa que um dos produtos (o primeiro) está sem estoque.
- cliente resolve proceder o pedido, recebendo estorno do primeiro.
- estorno parcial do pagamento é realizado (em valor igual ao primeiro produto).
- cliente recebe o pedido com os produtos 2-5.
- cliente constata que produto 2 está com defeito.
- notifica vendedor, procede o envio de volta.
- vendedor não tem mais estoque ou cliente não quer substituição e opta por reembolso.
- vendedor estorna mais uma parte do pagamento, referente ao produto 2.
- agora, um mesmo Pix original tem 2 devoluções (refentes aos produtos 1 e 2 de um pedido de 5 produtos).
Então, mas o webhook não será acionado apenas quando ocorrer um recebimento? (nesse caso a lista de devolução sempre viria vazia, pois no momento que ocorreu um recebimento em si, não houve devolução ainda).
Ou toda vez que o PSP recebedor realizar uma devolução, o webhook do usuário recebedor também deve ser acionado?
Então, mas o webhook não será acionado apenas quando ocorrer um recebimento? (nesse caso a lista de devolução sempre viria vazia, pois no momento que ocorreu um recebimento em si, não houve devolução ainda).
Ou toda vez que o PSP recebedor realizar uma devolução, o webhook do usuário recebedor também deve ser acionado?
Eu entendo que o PSP deva acionar o webhook sempre que uma devolução tiver um desfecho, ou que deu certo ou que não deu certo.
Então, mas o webhook não será acionado apenas quando ocorrer um recebimento?
Quando houver uma devolução também.
Não pode ser pago duplicado - a priori - mas pode ser devolvido em diferentes transações parciais, até o limite do valor do recebimento correspondente.
@renatofrota , perfeita a sua intervenção.
Então, mas o webhook não será acionado apenas quando ocorrer um recebimento?
Quando houver uma devolução também.
Necessário ser definido com mais precisão. O que seria "houver" uma devolução?
Não é necessário o PSP invocar o webhook assim que receber uma requisição para realizar uma devolução (isto é, assim que receber uma requisição no endpoint "Solicitar devolução"), visto que o sistema do cliente recebedor já esta ciente de que fez a requisição para criar a devolução.
Logo, o webhook deverá ser chamado em que momento? Quando o processamento da devolução se encerrar (com sucesso ou erro)?
Necessário ser definido com mais precisão. O que seria "houver" uma devolução?
Tem razão.
Não é necessário o PSP invocar o webhook assim que receber uma requisição para realizar uma devolução (isto é, assim que receber uma requisição no endpoint "Solicitar devolução"), visto que o sistema do cliente recebedor já esta ciente de que fez a requisição para criar a devolução.
Exatamente.
Logo, o webhook deverá ser chamado em que momento? Quando o processamento da devolução se encerrar (com sucesso ou erro)?
Quando for negada ou quando for devolvida.