- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- UserInformation
- AssociateAccountResultCode
Asocia la cuenta del cliente con el procesador de pagos al instrumento de Google que se agregará.
La asociación de la cuenta ocurre una vez que el integrador autentica al usuario. La asociación se produce a través de una llamada de servidor a servidor que contiene el requestId
para el flujo de autenticación asociado (authenticationRequestId
), un associationId
y un googlePaymentToken
(GPT). El procesador de pagos debe asociar el associationId
y el googlePaymentToken
a la cuenta del cliente para la autenticación. GPT se usa para iniciar pagos. El associationId
se usa durante las llamadas de reautenticación para identificar la cuenta que se debe autenticar.
Si Google envía un associationId
o un googlePaymentToken
que el integrador ya vio durante una asociación diferente, se mostrará un error.
Si el extremo encuentra un error mientras procesa la solicitud, el cuerpo de la respuesta de este extremo debe ser del tipo
.ErrorResponse
A continuación, se muestra una solicitud de ejemplo:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "cmVxdWVzdDE",
"requestTimestamp": "1481899949606"
},
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ__",
"authenticationRequestId": "bnAxdWTydDX==",
"associationId": "LmddbXBsZSByZWZlcmVuY2UgdG9rZW4gdmFsdWU_",
"provideUserInformation": true
}
Esta es una respuesta de ejemplo:
{
"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"
}
Solicitud HTTP
POST https://www.integratorhost.example.com/v1/associateAccount
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "requestHeader": { object ( |
Campos | |
---|---|
requestHeader |
OBLIGATORIO: Encabezado común para todas las solicitudes |
provideUserInformation |
OBLIGATORIO: Es verdadero si queremos que el integrador proporcione la dirección asociada con esta cuenta. |
googlePaymentToken |
OBLIGATORIO: Es el token que usará Google para iniciar compras con el procesador de pagos. Esta string tiene una longitud máxima de 100 caracteres. |
associationId |
REQUIRED: El identificador de esta asociación. Google crea este identificador y se envía durante los flujos de reautenticación para identificar qué cuenta se debe autenticar. Esta string tiene una longitud máxima de 100 caracteres. |
Campo de unión
|
|
authenticationRequestId |
OPCIONAL: El |
otpVerification |
OPCIONAL: Son los datos necesarios para verificar una OTP generada desde |
Cuerpo de la respuesta
Objeto de respuesta para el método de cuenta asociada.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Representación JSON |
---|
{ "responseHeader": { object ( |
Campos | |
---|---|
responseHeader |
OBLIGATORIO: Encabezado común para todas las respuestas |
paymentIntegratorAssociateAccountId |
OBLIGATORIO: Este identificador es específico del integrador y lo genera este. Se utiliza con fines de depuración únicamente para identificar esta llamada. Este es el identificador por el cual el integrador conoce esta llamada. |
tokenExpirationTime |
OPTIONAL: Milisegundos desde la época en la que vence el token. Usa |
accountId |
OBLIGATORIO: Es el ID de la cuenta que el usuario tiene con el integrador. Esto se utiliza para que Google corra el riesgo de comprender la reutilización y las relaciones de las cuentas, y los agentes operativos de Google para ayudar a los clientes a diagnosticar problemas. Este identificador debe ser reconocible para el usuario (por ejemplo, el usuario conoce este ID porque aparece en su estado o en el sitio web después de acceder a la cuenta). Este valor debe ser inmutable durante la vigencia de la cuenta. |
userMessage |
OBSOLETO: Es una descripción del resultado que se le mostrará al usuario si el resultado no es |
userInformation |
OBLIGATORIO: Es la información del usuario que el integrador conoce y compartirá con Google sobre este cliente. Se utiliza para la información de riesgos y para abordar la prepropagación. |
result |
REQUIRED: Es el resultado de esta asociación. |
Campo de unión
|
|
accountNickname |
OPCIONAL: Es la cadena mediante la cual el usuario conoce esta cuenta con fines de visualización. Este es un sufijo del sobrenombre de la cuenta. Por ejemplo, los últimos cuatro dígitos de un número de teléfono. Google indicará en la interfaz de usuario que esto es solo un sufijo del sobrenombre. Este valor se mostrará en IUs, como el flujo de compra, para permitir que el usuario distinga entre distintas formas de pago. |
fullAccountNickname |
OPCIONAL: Es la cadena mediante la cual el usuario conoce esta cuenta con fines de visualización. A diferencia de Este valor se mostrará en IUs, como el flujo de compra, para permitir que el usuario distinga entre distintas formas de pago. |
UserInformation
Es la estructura que contiene la información sobre un usuario.
Representación JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string, "phone": string, "emailAddress": string } |
Campos | |
---|---|
name |
OPCIONAL: El nombre completo del cliente. |
addressLine[] |
OPTIONAL: Contiene un texto de dirección no estructurado. |
localityName |
OPCIONAL: Este es un término confuso, pero, por lo general, hace referencia a la parte de ciudad o pueblo de una dirección. En regiones del mundo donde las localidades no están bien definidas o no se ajustan bien a esta estructura (por ejemplo, Japón y China), deja el valor LocalName vacío y usa addressLine. Ejemplos: ciudad de EE.UU., comuna de Italia o ciudad postal en el Reino Unido. |
administrativeAreaName |
OPCIONAL: Subdivisión administrativa de nivel superior de este país; por ejemplo, estado de EE.UU., región de TI, provincia de CN, prefectura de Japón". |
postalCodeNumber |
OPTIONAL: A pesar de su nombre, los valores postalCodeNumber suelen ser alfanuméricos. Ejemplos: “94043”, “SW1W” o “SW1W 9TQ”. |
countryCode |
OPCIONAL: Es el código de país de la dirección del cliente, que se espera que sea ISO-3166-1 Alfa-2. |
phone |
OPCIONAL: El número de teléfono del cliente. |
emailAddress |
OPCIONAL: La dirección de correo electrónico del cliente. |
AssociateAccountResultCode
Códigos de resultado de la cuenta asociada
Enumeradores | |
---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
SUCCESS |
La asociación se realizó correctamente. |
USER_AUTHENTICATION_FAILED |
Aunque se mostró el paquete de autenticación de la cuenta, la autenticación del usuario falló. |
NOT_ELIGIBLE |
La cuenta del usuario no es apta para este servicio. |
OTP_NOT_MATCHED |
La OTP no coincidió con lo que envió el integrador. |
OTP_ALREADY_USED |
Ya se usó la OTP. |
OTP_LIMIT_REACHED |
El usuario solicitó o intentó verificar demasiadas OTP. |
OTP_EXPIRED |
Venció la OTP. |