Informações gerais
O fluxo de redirecionamento completo começa depois que o fluxo Iniciar redirecionamento é concluído e o usuário faz um pagamento na interface da Web do emissor. O objetivo do fluxo de redirecionamento completo é:
- Notifique o Google e o integrador de pagamentos de que o pagamento foi realizado.
- Redirecione o usuário de volta para o Google pelo integrador.
Como o fluxo funciona
O integrador pode transmitir as informações de pagamento concluídas de três formas para o Google.
- O integrador redireciona o usuário para o Google, adicionando as informações de pagamento à resposta de redirecionamento.
- O integrador envia uma solicitação HTTPS para o endpoint RedirectPaymentCompleteNotification do Google quando o pagamento é concluído.
- O Google envia uma solicitação HTTPS para o endpoint GetRedirectPaymentStatus do integrador, e o integrador responde com os detalhes de pagamento.
Fluxo de redirecionamento completo
O diagrama de sequência a seguir mostra a interação entre o navegador do usuário, o Google, o integrador e o emissor:
Veja a lista de objetos no diagrama acima:
- Usuário: a pessoa que concluiu um pagamento.
- IU do Google: a interface da Web ou do app do Google em que o cliente iniciou o pagamento.
- Servidor do Google: é o servidor de back-end no Google que recebe os detalhes da forma de pagamento completa e fornece os produtos ou serviços adquiridos ao usuário.
- Integrador de pagamentos: o integrador de pagamentos que vai atuar como intermediário entre o Google e o emissor.
- Emissor: o emissor de onde o usuário efetuou o pagamento.
Presumimos que o usuário acabou de fazer um pagamento no site do emissor, o que aciona o fluxo de redirecionamento completo.
- O usuário conclui o pagamento no portal do emissor.
- O emissor cria um URL de redirecionamento que aponta para o integrador com informações sobre o pagamento concluído.
- O emissor redireciona o usuário para o servidor de back-end do integrador de pagamentos.
- O integrador de pagamentos cria uma resposta de redirecionamento usando informações do redirecionamento do emissor.
- O integrador de pagamentos redireciona o usuário para o Google.
- O integrador de pagamentos envia uma RedirectPaymentCompleteNotification ao Google. Usado em caso de falha no redirecionamento após o usuário concluir o pagamento.
- Se o Google não receber uma resposta de redirecionamento ou uma RedirectPaymentCompleteNotification, enviará uma chamada GetRedirectPaymentStatus para o integrador de pagamentos, que deverá responder com as informações de status de pagamento.
- O Google processa as informações de pagamento e fornece os produtos ou serviços adquiridos ao usuário.
Redirecionar notificação de pagamento concluído
Como mostrado no diagrama acima, o Google exige que os integradores enviem um RedirectPaymentCompleteNotification
ao Google quando o integrador determinar que um pagamento de redirecionamento foi aceito ou recusado. Essa notificação pode ser enviada ao Google antes ou depois de o usuário ser redirecionado para o Google.
Se um integrador descobrir que um pagamento de redirecionamento foi aceito ou recusado, mesmo vários dias após o início do redirecionamento, ele ainda vai enviar um RedirectPaymentCompleteNotification
ao Google. Essas notificações ajudam a atualizar o status final de um pagamento e são necessárias para lidar adequadamente com a reconciliação.
Práticas recomendadas e outras considerações
Medidas de segurança
O URL de resposta de redirecionamento vai incluir um campo redirectRequestId
não criptografado e um objeto RedirectResponse criptografado com o mesmo valor. O Google vai validar se os dois valores correspondem ao campo requestId
enviado na solicitação de redirecionamento.