Flux de redirection complet

Présentation

Le parcours "Complete Redirect" commence une fois que le flux begin Redirect est terminé et que l'utilisateur effectue un paiement dans l'interface Web de l'émetteur. L'objectif du flux de redirection complète est le suivant:

  1. Avertir Google et l'intégrateur de paiement que le paiement a bien été effectué
  2. Rediriger l'utilisateur vers Google via l'intégrateur

Fonctionnement du flux

L'intégrateur peut transmettre les informations de paiement complétées à Google de trois manières différentes.

  1. L'intégrateur redirige l'utilisateur vers Google, en ajoutant les informations de paiement à la réponse de redirection.
  2. L'intégrateur envoie une requête HTTPS au point de terminaison RedirectPaymentCompleteNotification de Google une fois le paiement effectué.
  3. Google envoie une requête HTTPS au point de terminaison GetRedirectPaymentStatus de l'intégrateur, qui répond en fournissant les détails du paiement.

Terminer la procédure de redirection

Le schéma de séquence suivant illustre l'interaction entre le navigateur de l'utilisateur, Google, l'intégrateur et l'émetteur:

Terminer la procédure de redirection

Voici la liste des objets dans le schéma ci-dessus:

  • Utilisateur: il s'agit de la personne qui a effectué un paiement.
  • UI Google: il s'agit de l'interface Web ou de l'application Google, dans laquelle le client a effectué le paiement.
  • Serveur Google: serveur backend de Google qui reçoit les détails du mode de paiement et fournit les produits ou services achetés à l'utilisateur.
  • Intégrateur de paiement: intégrateur de paiement qui agit en tant qu'intermédiaire entre Google et l'émetteur.
  • Émetteur: émetteur via lequel l'utilisateur a effectué le paiement.

Nous partons du principe que l'utilisateur vient de terminer un paiement sur le site Web de l'émetteur, ce qui déclenche le flux "Complete Redirect".

  1. L'utilisateur finalise le paiement sur le portail de l'émetteur.
  2. L'émetteur crée une URL de redirection qui renvoie vers l'intégrateur, avec les informations sur le paiement effectué.
  3. L'émetteur redirige l'utilisateur vers le serveur backend de l'intégrateur de paiement.
  4. L'intégrateur de paiements crée une réponse de redirection à l'aide des informations de la redirection de l'émetteur.
  5. L'intégrateur de paiement redirige l'utilisateur vers Google.
  6. L'intégrateur de paiements envoie une notification RedirectPaymentCompleteNotification à Google. Il est utilisé en cas d'échec de la redirection après que l'utilisateur a effectué le paiement.
  7. Si Google ne reçoit pas de réponse de redirection ni de RedirectPaymentCompleteNotification, il enverra un appel GetRedirectPaymentStatus à l'intégrateur de paiement, qui devrait fournir des informations sur l'état du paiement.
  8. Google traite les informations de paiement pour fournir les produits ou services achetés à l'utilisateur.

Notification de confirmation de paiement de la redirection

Comme le montre le schéma ci-dessus, Google demande aux intégrateurs d'envoyer un RedirectPaymentCompleteNotification lorsqu'ils déterminent qu'un paiement de redirection a été accepté ou refusé. Cette notification peut être envoyée à Google avant ou après que l'utilisateur soit redirigé vers Google.

Si un intégrateur découvre qu'un paiement de redirection a été effectué (accepté ou refusé) plusieurs jours après la date de début de la redirection, il doit tout de même envoyer une RedirectPaymentCompleteNotification à Google. Ces notifications permettent de mettre à jour l'état final d'un paiement et sont nécessaires pour gérer correctement le rapprochement.

Bonnes pratiques et autres considérations

Mesures de sécurité

L'URL de réponse de redirection comprend un champ redirectRequestId non chiffré et un objet RedirectResponse chiffré avec la même valeur. Google vérifiera que ces deux valeurs correspondent au champ requestId envoyé dans la demande de redirection.