Solicita al integrador que envíe una OTP al número de teléfono.
Si el integrador muestra SUCCESS
, Google espera un SMS enviado al número de teléfono.
Google proporciona solo un accountPhoneNumber
cuando un usuario asocia inicialmente su cuenta con Google. Por lo tanto, solo se enviará associationId
en todas las llamadas posteriores.
Si el extremo encuentra un error mientras se procesa la solicitud, el cuerpo de la respuesta de este extremo debe ser del tipo
.ErrorResponse
Una solicitud de ejemplo se ve de la siguiente manera:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
Una respuesta de ejemplo se ve de la siguiente manera:
{
"responseHeader": {
"responseTimestamp": "1502545413098"
},
"paymentIntegratorSendOtpId": "99==ABC EF",
"result": "SUCCESS"
}
Solicitud HTTP
POST https://www.integratorhost.example.com/v1/sendOtp
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "requestHeader": { object ( |
Campos | |
---|---|
requestHeader |
OBLIGATORIO: Es un encabezado común para todas las solicitudes. |
smsMatchingToken |
OBLIGATORIO: Google proporciona este valor, que debe incluirse en el SMS que se envía al usuario. Esto le permite a Google hacer coincidir automáticamente el SMS en el dispositivo para dispositivos Android O (consulta la referencia). Este será de 11 caracteres. Por ejemplo, si el SMS normalmente se ve así:
Y Google envía "0123456789A" para este campo, entonces el SMS debería tener el siguiente aspecto:
También puede verse de la siguiente manera:
|
otpContext |
OPCIONAL: Este es el contexto en el que se solicita una OTP. |
Campo de unión account_identifier . OBLIGATORIO: Este es el identificador de la cuenta para la que se debe enviar una OTP. account_identifier puede ser solo uno de los siguientes: |
|
accountPhoneNumber |
Este es un número de teléfono con formato E.164. Los ejemplos incluyen +14035551111 y +918067218000. Siempre llevará un signo + e incluirá solo números después (sin guiones). Se propaga cuando un usuario asocia inicialmente su cuenta con Google y durante la reasociación. |
associationId |
Este es el identificador de asociación que se usa para hacer referencia a la cuenta de un usuario. Se propaga para todas las llamadas posteriores después de la asociación inicial. |
Cuerpo de la respuesta
Objeto de respuesta para el método sendOtp.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Representación JSON |
---|
{ "responseHeader": { object ( |
Campos | |
---|---|
responseHeader |
OBLIGATORIO: Es el encabezado común para todas las respuestas. |
paymentIntegratorSendOtpId |
OPCIONAL: El identificador que el integrador reconoce como esta solicitud de envío de OTP. Esto lo genera el integrador. |
result |
OBLIGATORIO: Resultado de esta solicitud |
Contexto de Otp
Contexto en el que se solicita una OTP.
Representación JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de unión otp_context . OBLIGATORIO: Contexto en el que se solicita una OTP otp_context puede ser solo uno de los siguientes: |
|
association |
Se solicita una OTP en el contexto de la asociación o reasociación. |
mandateCreation |
Se solicita OTP en el contexto de la creación de un mandato. |
associationWithMandateCreation |
Se solicita la OTP para la asociación y la creación del mandato. |
Vacío
Este tipo no tiene campos.
Este objeto se usa para la extensibilidad porque los booleanos y las enumeraciones a menudo necesitan extenderse con datos adicionales. El implementador lo usa para determinar la presencia. La enumeración que representa puede extenderse para contener datos en versiones futuras.
La representación JSON de Empty
es un objeto JSON vacío {}
.
EnviarOtpResultCode
Códigos de resultado para enviar solicitudes de OTP.
Enumeradores | |
---|---|
UNKNOWN_RESULT |
No establezcas este valor predeterminado. |
SUCCESS |
El integrador envió la OTP. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
El número de teléfono no está asociado a la cuenta que identifica associationId . |
UNKNOWN_PHONE_NUMBER |
El número de teléfono no está asociado a ninguna cuenta. Se usa cuando no se configura associationId . |
MESSAGE_UNABLE_TO_BE_SENT |
El integrador no pudo enviar la OTP por algún motivo. Este es un error transitorio y puede provocar que se vuelva a intentar la llamada. |
INVALID_PHONE_NUMBER |
El formato del número de teléfono era incorrecto. |
NOT_ELIGIBLE |
La cuenta del usuario no es apta para este servicio. |
OTP_LIMIT_REACHED |
El usuario solicitó o intentó verificar demasiadas OTP. |
ACCOUNT_CLOSED |
Se cerró la cuenta del usuario que tiene el integrador. Solo debe usarse cuando se usa el atributo "associationId" para identificar a este usuario. Mostrar este valor hará que se cierre el instrumento de pago con Google. El usuario se verá obligado a agregar un instrumento nuevo nuevamente a través del flujo de asociación. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Se cerró la cuenta del usuario que tiene el integrador y se sospecha que la cuenta tomó el control. Solo debe usarse cuando se usa el atributo "associationId" para identificar a este usuario. Mostrar este valor hará que se cierre el instrumento de pago con Google. El usuario se verá obligado a agregar un instrumento nuevo nuevamente a través del flujo de asociación. |
ACCOUNT_CLOSED_FRAUD |
Se cerró la cuenta del usuario que tenía el integrador debido a un fraude. Solo debe usarse cuando se usa el atributo "associationId" para identificar a este usuario. Mostrar este valor hará que se cierre el instrumento de pago con Google. El usuario se verá obligado a agregar un instrumento nuevo nuevamente a través del flujo de asociación. |