Association d'identité : OAuth 2.0

Pour activer des sessions utilisateur fluides (par exemple, pour accéder aux avantages fidélité ou aux offres personnalisées) et des paiements authentifiés, vous devez implémenter la fonctionnalité d'association d'identité à l'aide d'OAuth 2.0. Si vous n'implémentez pas l'association d'identité, vous devez accepter le paiement en tant qu'invité.

Contactez votre équipe juridique pour toute question concernant les réglementations sur la confidentialité et les pratiques de consentement.

Exigences de base

  • Protocole : implémentez le flux avec code d'autorisation OAuth 2.0 (RFC 6749 2.3.1).
  • Authentification du client : doit être compatible avec l'authentification HTTP de base (client_secret_basic) au niveau du point de terminaison du jeton.
  • Niveaux d'accès : vous devez accepter les niveaux d'accès UCP standards définis dans cette section.
  • Découverte : vous devez héberger un fichier de métadonnées à l'adresse /.well-known/oauth-authorization-server (RFC 8414) pour permettre à la plate-forme de découvrir vos points de terminaison.

Niveaux d'accès

Vous devez implémenter le champ d'application suivant, qui accorde l'autorisation pour toutes les opérations du cycle de vie du paiement (Get, Create, Update, Delete, Cancel, Complete).

  • Nom du champ d'application : ucp:scopes:checkout_session

Expérience utilisateur : vous devez présenter les niveaux d'accès demandés sur un seul écran de consentement groupé (par exemple, "Autoriser Google à gérer vos sessions de paiement") plutôt que des options techniques précises.

Association simplifiée à Google

L'association simplifiée Google est une option qui s'ajoute à OAuth 2.0 standard. Il utilise des assertions JWT pour combiner les vérifications d'intention et l'échange de jetons sur le point de terminaison de jeton OAuth 2.0 (intentions check, create et get).

Nous vous recommandons d'utiliser l'association simplifiée de Google pour une expérience utilisateur fluide. Il permet aux utilisateurs d'associer des comptes ou d'en créer à l'aide de leur profil Google sans quitter l'interface Google. Étant donné que le flux se déroule entièrement dans l'UI de Google, un frontend d'association n'est pas nécessaire. Cela réduit les frais généraux de développement, élimine les redirections de navigateur et peut augmenter les taux de conversion.

Métadonnées du serveur d'autorisation (exemple JSON)

Vous devez publier cet objet JSON à l'adresse https://[your-domain]/.well-known/oauth-authorization-server.

Exemple :

{
  "issuer": "https://merchant.example.com",
  "authorization_endpoint": "https://merchant.example.com/oauth2/authorize",
  "token_endpoint": "https://merchant.example.com/oauth2/token",
  "revocation_endpoint": "https://merchant.example.com/oauth2/revoke",
  "scopes_supported": [
    "ucp:scopes:checkout_session"
  ],
  "response_types_supported": [
    "code"
  ],
  "grant_types_supported": [
    "authorization_code",
    "refresh_token"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_basic"
  ],
  "service_documentation": "https://merchant.example.com/docs/oauth2"
}