- 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 agrega.
La asociación de cuentas se produce después de 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. La etiqueta GPT se usa para iniciar los pagos. associationId
se usa durante las llamadas de reautenticación para identificar la cuenta para la autenticación.
Si Google envía un associationId
o un googlePaymentToken
que el integrador ya vio durante una asociación diferente, arrojará 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
}
Una respuesta de ejemplo se ve de la siguiente manera:
{
"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 |
REQUIRED: Encabezado común para todas las solicitudes |
provideUserInformation |
OBLIGATORIO: Se establece el valor "True" si deseamos que el integrador proporcione la dirección asociada con esta cuenta. |
googlePaymentToken |
OBLIGATORIO: Es el token que Google usará para iniciar compras con el procesador de pagos. Es una cadena que tiene una longitud máxima de 100 caracteres. |
associationId |
REQUIRED: Es 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. Es una cadena que tiene una longitud máxima de 100 caracteres. |
Campo de unión
|
|
authenticationRequestId |
OPCIONAL: |
otpVerification |
OPCIONAL: Datos necesarios para verificar una OTP generada a partir de |
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 |
REQUIRED: Encabezado común para todas las respuestas |
paymentIntegratorAssociateAccountId |
REQUIRED: Este identificador es específico del integrador y lo genera este. Se usa con fines de depuración únicamente para identificar esta llamada. Este es el identificador con el que el integrador conoce esta llamada. |
tokenExpirationTime |
OPCIONAL: Milisegundos desde el ciclo de entrenamiento en el que vence el token. Usa |
accountId |
REQUIRED: Es el ID de la cuenta que el usuario tiene con el integrador. Esto se utiliza para riesgos de Google a fin de comprender la reutilización y las relaciones de las cuentas, así como para que los agentes de operaciones de clientes de Google ayuden a los clientes a diagnosticar problemas. Este identificador debe ser reconocible por el usuario (por ejemplo, el usuario conoce este ID porque aparece en su estado de cuenta o en el sitio web después de acceder a la cuenta). Este valor debe ser inmutable durante el ciclo de vida 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 que compartirá con Google sobre este cliente. Se usa para información de riesgos y abordar la prepropagación. |
result |
OBLIGATORIO: Es el resultado de esta asociación. |
Campo de unión
|
|
accountNickname |
OPCIONAL: Es la cadena por la cual el usuario conoce esta cuenta para su 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 este es solo un sufijo del sobrenombre. Este valor se mostrará en IUs, como el flujo de compra, para permitir que el usuario distinga entre formas de pago. |
fullAccountNickname |
OPCIONAL: Es la cadena por la cual el usuario conoce esta cuenta para su visualización. A diferencia de Este valor se mostrará en IUs, como el flujo de compra, para permitir que el usuario distinga entre formas de pago. |
UserInformation
Estructura que contiene 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: Nombre completo del cliente. |
addressLine[] |
OPCIONAL: Contiene texto no estructurado de Address. |
localityName |
OPCIONAL: Es un término aproximado, pero generalmente hace referencia a la parte de una dirección que corresponde a la ciudad o el pueblo. 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 localityName 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 Ejemplos: Estado de EE.UU., región de TI, provincia de CN, prefectura de Japón”. |
postalCodeNumber |
OPTIONAL: A pesar del 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: Número de teléfono del cliente. |
emailAddress |
OPCIONAL: Dirección de correo electrónico del cliente. |
AssociateAccountResultCode
Códigos de resultado para la cuenta asociada.
Enumeraciones | |
---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
SUCCESS |
La asociación se realizó correctamente. |
USER_AUTHENTICATION_FAILED |
Si bien se devolvió 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. |