- Requête HTTP
- Corps de la requête
- Corps de la réponse
- UserInformation
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- AssociateAccountResultCode
Associe le compte du client à la société de traitement des paiements au mode de paiement Google ajouté.
L'association des comptes se produit une fois que l'intégrateur a authentifié l'utilisateur. L'association se produit via un appel de serveur à serveur contenant le requestId
pour le flux d'authentification associé (authenticationRequestId
), un associationId
et un googlePaymentToken
(GPT). La société de traitement des paiements doit associer les associationId
et googlePaymentToken
au compte du client à des fins d'authentification. Le tag GPT sert à effectuer les paiements. Le associationId
est utilisé lors des appels de réauthentification afin d'identifier le compte pour l'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 à toutes les requêtes. |
provideUserInformation |
OBLIGATOIRE : "True" si nous souhaitons que l'intégrateur fournit 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 du |
Corps de la réponse
Objet de réponse pour la méthode du 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 à toutes les réponses. |
paymentIntegratorAssociateAccountId |
OBLIGATOIRE: cet identifiant est spécifique à l'intégrateur et est généré par celui-ci. 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, lorsque le jeton expire. Utilisez |
accountId |
OBLIGATOIRE: ID du compte dont dispose l'utilisateur auprès de l'intégrateur. Ces informations sont utilisées pour évaluer les risques chez Google afin de comprendre la réutilisation des comptes et les relations qui les unissent, ainsi que pour aider les clients à diagnostiquer les problèmes grâce aux agents Google chargés des opérations client. Cet identifiant doit être reconnaissable par l'utilisateur (par exemple, l'utilisateur doit le connaître parce qu'il apparaît sur son relevé ou sur le site Web une fois qu'il s'est connecté au 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 transmettra à Google au sujet 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 par 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 sera affichée dans des interfaces utilisateur telles que le parcours d'achat pour permettre à l'utilisateur de faire la distinction entre les modes de paiement. |
fullAccountNickname |
FACULTATIF: chaîne par laquelle l'utilisateur connaît ce compte à des fins d'affichage. Contrairement à Cette valeur sera affichée dans des interfaces utilisateur telles que le parcours d'achat pour permettre à l'utilisateur de faire la distinction entre les modes de paiement. |
UserInformation
Structure contenant des 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 manque généralement de précision, mais il fait généralement référence à la partie ville/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 (Japon et Chine, par exemple), laissez le champ localityName vide et utilisez addressLine. Exemples : une "city" aux États-Unis, une "comune" en Italie, une "post town" au Royaume-Uni. |
administrativeAreaName |
FACULTATIF: Subdivision administrative de niveau supérieur de ce pays Exemples: État des États-Unis, région d'Italie, 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, au format 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 du 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 pour ce service. |
OTP_NOT_MATCHED |
Le mot de passe à usage unique 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 tenté de valider un trop grand nombre de mots de passe à usage unique. |
OTP_EXPIRED |
Le mot de passe à usage unique a expiré. |