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 assíncrona será enviada do Google para o integrador de pagamentos. O integrador precisa confirmar a solicitação e notificar o Google quando o reembolso for concluído.
Como o fluxo funciona
Fluxo de reembolso
Este é um exemplo de fluxo de reembolso assíncrono iniciado pelo usuário:
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 integrador de pagamentos.
- Integrador de pagamentos: o integrador que encaminha a solicitação de reembolso ao emissor apropriado.
- Emissor: o emissor usado para o pagamento, 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 Google chama o endpoint
AsynchronousRefund
do integrador de pagamentos. - O integrador envia uma resposta
Acknowledged
ao Google. - O integrador chama o endpoint
Refund
apropriado no emissor. - O emissor processa o reembolso e responde ao integrador com
Success
. - O integrador chama o endpoint
RefundResultNotification
no servidor do Google para notificar o Google sobre o resultado. - O Google reconhece a
RefundResultNotification
. - O Google atualiza os fundos disponíveis do Usuário.
- 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.
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, imagine que uma transação no valor de US $11, 00 ocorra e um usuário possa receber reembolsos parciais de US $4, US$ 5 e US $1 da transação original. Nesse caso, os três reembolsos terão o mesmo captureRequestId
, 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 captureRequestId
), 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.