associe le compte du client à la société de traitement des paiements au mode de paiement Google ajouté ;
L'association de compte a lieu une fois que l'intégrateur a authentifié l'utilisateur. L'association se produit via un appel de serveur à serveur qui contient le requestId
pour le flux d'authentification associé (authenticationRequestId
), un associationId
et un googlePaymentToken
(GPT). La société de traitement des paiements doit associer associationId
et googlePaymentToken
au compte du client à des fins d'authentification. GPT sert à effectuer des paiements. Le associationId
est utilisé lors des appels de réauthentification pour identifier le compte à des fins d'authentification.
Si Google envoie un associationId
ou un googlePaymentToken
que l'intégrateur a déjà vu lors d'une autre association, une erreur est générée.
Si le point de terminaison rencontre une erreur lors du traitement de la requête, le corps de la réponse de ce point de terminaison doit être de type
.ErrorResponse
Voici un exemple de requête:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "cmVxdWVzdDE",
"requestTimestamp": "1481899949606"
},
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ__",
"authenticationRequestId": "bnAxdWTydDX==",
"associationId": "LmddbXBsZSByZWZlcmVuY2UgdG9rZW4gdmFsdWU_",
"provideUserInformation": true
}
Voici un exemple de réponse:
{
"responseHeader": {
"responseTimestamp": "1481899949611"
},
"paymentIntegratorAssociateAccountId": "xx77df88934hfd",
"accountId": "1234-5678-91",
"accountNickname": "***-91",
"tokenExpirationTime": "0",
"userInformation": {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"result": "SUCCESS"
}
Requête HTTP
POST https://www.integratorhost.example.com/v1/associateAccount
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
Représentation JSON |
---|
{ "requestHeader": { object ( |
Champs | |
---|---|
requestHeader |
OBLIGATOIRE: en-tête commun pour toutes les requêtes. |
provideUserInformation |
OBLIGATOIRE : "true" si l'intégrateur doit fournir l'adresse associée à ce compte. |
googlePaymentToken |
OBLIGATOIRE: jeton que Google utilisera pour effectuer des achats auprès de la société de traitement des paiements. Il s'agit d'une chaîne d'une longueur maximale de 100 caractères. |
associationId |
OBLIGATOIRE: identifiant de cette association. Cet identifiant est créé par Google et envoyé lors des flux de réauthentification afin d'identifier le compte à authentifier. Il s'agit d'une chaîne d'une longueur maximale de 100 caractères. |
Champ d'union
|
|
authenticationRequestId |
FACULTATIF: |
otpVerification |
FACULTATIF: données nécessaires pour valider un mot de passe à usage unique généré à partir de |
Corps de la réponse
Objet réponse pour la méthode de compte associé.
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
Représentation JSON |
---|
{ "responseHeader": { object ( |
Champs | |
---|---|
responseHeader |
OBLIGATOIRE: en-tête commun pour toutes les réponses. |
paymentIntegratorAssociateAccountId |
OBLIGATOIRE: cet identifiant est spécifique à l'intégrateur. Il est généré par l'intégrateur. Il est utilisé à des fins de débogage uniquement afin d'identifier cet appel. Il s'agit de l'identifiant par lequel l'intégrateur connaît cet appel. |
tokenExpirationTime |
FACULTATIF: Millisecondes depuis l'epoch d'expiration du jeton. Utilisez |
accountId |
OBLIGATOIRE: ID du compte dont dispose l'utilisateur pour l'intégrateur. Ces informations permettent à Google de comprendre les risques liés à la réutilisation des comptes et aux relations entre les comptes, ainsi que les agents des opérations client de Google pour aider les clients à diagnostiquer les problèmes. Cet identifiant doit être reconnaissable par l'utilisateur. Par exemple, il doit le connaître, car il apparaît sur son relevé ou sur le site Web une fois qu'il s'est connecté à son compte. Cette valeur doit être immuable pendant toute la durée de vie du compte. |
userMessage |
OBSOLÈTE: description du résultat à présenter à l'utilisateur si le résultat n'est pas |
userInformation |
OBLIGATOIRE: informations sur l'utilisateur que l'intégrateur connaît et partagera avec Google à propos de ce client. Utilisé pour les informations sur les risques et le pré-remplissage. |
result |
OBLIGATOIRE: résultat de cette association. |
Champ d'union
|
|
accountNickname |
FACULTATIF: chaîne via laquelle l'utilisateur connaît ce compte à des fins d'affichage. Il s'agit d'un suffixe du pseudo du compte. Par exemple, les quatre derniers chiffres d'un numéro de téléphone. Google indiquera dans l'interface utilisateur qu'il ne s'agit que d'un suffixe du pseudo. Cette valeur s'affichera dans des UI comme le parcours d'achat pour permettre à l'utilisateur de faire la distinction entre les modes de paiement. |
fullAccountNickname |
FACULTATIF: chaîne via laquelle l'utilisateur connaît ce compte à des fins d'affichage. Contrairement à Cette valeur s'affichera dans des UI comme le parcours d'achat pour permettre à l'utilisateur de faire la distinction entre les modes de paiement. |
UserInformation
Structure contenant les informations sur un utilisateur.
Représentation JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string, "phone": string, "emailAddress": string } |
Champs | |
---|---|
name |
FACULTATIF: Nom complet du client. |
addressLine[] |
FACULTATIF: contient du texte d'adresse non structuré. |
localityName |
FACULTATIF: ce terme est vague, mais il désigne généralement la partie ville d'une adresse. Dans les régions du monde où les localités ne sont pas bien définies ou ne s'intègrent pas bien dans cette structure (par exemple, le Japon et la Chine), laissez le champ LocalNameName (Nom de la ville) vide et utilisez addressLine. Exemples : une "city" aux États-Unis, une "comune" en Italie, une "post town" au Royaume-Uni. |
administrativeAreaName |
FACULTATIF : Sous-division administrative de niveau supérieur du pays ("État des États-Unis", "Région IT", "Province du CN", "Préfecture du Japon"). |
postalCodeNumber |
FACULTATIF: Malgré le nom, les valeurs "postalCodeNumber" sont souvent alphanumériques. Exemples: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
FACULTATIF: Code pays de l'adresse du client, qui doit être ISO-3166-1 Alpha-2. |
phone |
FACULTATIF: numéro de téléphone du client. |
emailAddress |
FACULTATIF: Adresse e-mail du client. |
AssociateAccountResultCode
Codes de résultat pour le compte associé.
Enums | |
---|---|
UNKNOWN_RESULT |
Ne définissez jamais cette valeur par défaut. |
SUCCESS |
Association réussie. |
USER_AUTHENTICATION_FAILED |
Même si le groupe d'authentification de compte a été renvoyé, l'authentification de l'utilisateur a échoué. |
NOT_ELIGIBLE |
Le compte de l'utilisateur n'est pas éligible à ce service. |
OTP_NOT_MATCHED |
L'OTP ne correspond pas aux informations envoyées par l'intégrateur. |
OTP_ALREADY_USED |
L'OTP a déjà été utilisé. |
OTP_LIMIT_REACHED |
L'utilisateur a demandé ou essayé de valider un trop grand nombre de mots de passe à usage unique. |
OTP_EXPIRED |
L'OTP a expiré. |