Informações gerais
Os reembolsos podem ser iniciados por uma ação do usuário ativo (pressionando o botão "Reembolso") ou automáticos em nome do usuário. Seja qual for o acionador, uma solicitação de reembolso será enviada do Google ao integrador.
Como o fluxo funciona
Confira um exemplo de fluxo de reembolso iniciado pelo usuário:
Fluxo de reembolso
Veja a lista de objetos no diagrama acima:
- Usuário: quer um reembolso completo ou parcial.
- Servidor do Google: o servidor de back-end no Google que envia o comando de reembolso ao servidor do integrador de pagamentos.
- Servidor do integrador de pagamentos: o servidor de back-end do integrador que aceita a solicitação de reembolso.
Neste exemplo, o reembolso é iniciado pelo usuário.
- O usuário inicia o reembolso para o servidor do Google.
- O servidor do Google chama o endpoint
Refund
no servidor do integrador de pagamentos. - O servidor do integrador de pagamentos responde com sucesso.
- O usuário recebe um reembolso.
Práticas recomendadas e outras considerações
Como alguns produtos do Google, como o Google AdWords, aceitam reembolsos desde que haja crédito na conta, as solicitações de reembolso de transações devem ser aceitas por um período indefinido. Se houver uma limitação técnica, o período de reembolso deverá ser enquanto sua plataforma permitir.
Se a GPT expirou, o reembolso ainda deverá funcionar. Os reembolsos só poderão ser recusados se o saldo da transação original não for suficiente para cobrir o valor do reembolso ou se a conta tiver sido encerrada ou estiver em espera e o integrador não puder enviar esse dinheiro ao usuário.
Os reembolsos podem ser iniciados segundos após a captura. O prazo dos reembolsos fica a critério do Google.
Um reembolso nunca deve ser considerado um reembolso total. Sempre considere o campo refundAmount
ao reembolsar a conta.
É necessário aceitar vários reembolsos parciais. Por exemplo, digamos que uma transação no valor de US $11,00 ocorra e um usuário possa reembolsar US $4,00, US$ 5,00 e US $1,00 da transação original. Nesse caso, os três reembolsos terão o mesmo merchantTransactionId
, mas diferentes valores de requestId
. Além disso, essa transação teria apenas US $1,00 restante.
Agora vamos imaginar que haja uma compra de R $12,00. Nesse exemplo, o usuário pode fazer dois reembolsos, cada um de US $6,00. Se esses dois reembolsos tiverem valores requestId
diferentes (e o mesmo merchantTransactionId
), eles precisarão ser tratados como reembolsos separados na mesma transação. Nesse caso, o usuário terá R $0 restante na transação depois que os reembolsos forem concluídos.