请求集成商向电话号码发送动态密码。
如果集成商返回 SUCCESS
,Google 会通过短信发送到该电话号码。
用户最初将帐号与 Google 关联时,Google 只会提供 accountPhoneNumber
。之后,系统仅会针对所有后续调用发送 associationId
。
如果端点在处理请求时遇到错误,则来自此端点的响应正文的类型应为
。ErrorResponse
示例请求如下所示:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
示例响应如下所示:
{
"responseHeader": {
"responseTimestamp": "1502545413098"
},
"paymentIntegratorSendOtpId": "99==ABC EF",
"result": "SUCCESS"
}
HTTP 请求
POST https://www.integratorhost.example.com/v1/sendOtp
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
---|
{ "requestHeader": { object ( |
字段 | |
---|---|
requestHeader |
必需:所有请求的通用标头。 |
smsMatchingToken |
必需:此值由 Google 提供,必须包含在发送给用户的短信中。这会让 Google 能在设备上自动为 Android O 设备匹配短信(请参阅参考编号)。长度上限为 11 个字符。 例如,如果短信通常如下所示:
而对于此字段,Google 会发送“0123456789A”,短信应如下所示:
或者,也可以如下所示:
|
otpContext |
可选:在这种情境下,请求动态密码。 |
联合字段 account_identifier 。必需:这是需要发送动态密码的帐号的标识符。account_identifier 只能是下列其中一项: |
|
accountPhoneNumber |
这是一个 E.164 格式的电话号码。例如 +14035551111 和 +918067218000。始终以 + 开头,并且后面仅包含数字(不含短划线)。 当用户最初将其帐号与 Google 关联时以及重新关联期间,系统会填充此字段。 |
associationId |
这是用于引用用户帐号的关联标识符。 首次关联后,所有后续调用都会填充此字段。 |
响应正文
sendOtp 方法的响应对象。
如果成功,响应正文将包含结构如下的数据:
JSON 表示法 |
---|
{ "responseHeader": { object ( |
字段 | |
---|---|
responseHeader |
必需:所有响应的通用标头。 |
paymentIntegratorSendOtpId |
可选:集成商知道此发送动态密码请求的标识符。这是由集成商生成的代码。 |
result |
必需:此请求的结果 |
OtpContext
请求 OTP 的上下文。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段 otp_context 。必需:请求动态密码的上下文。otp_context 只能是下列其中一项: |
|
association |
需要在关联/重新关联环境中请求动态密码。 |
mandateCreation |
正在要求创建动态授权的动态密码。 |
associationWithMandateCreation |
请求关联动态密码并创建授权书。 |
无
此类型没有任何字段。
此对象用于扩展,因为布尔值和枚举通常需要使用额外数据进行扩展。实现人员使用它来确定在线状态。这个代表的枚举可以进行扩展,以包含未来版本中的数据。
Empty
的 JSON 表示法为空 JSON 对象 {}
。
SendOtpResultCode
发送动态密码请求的结果代码。
枚举 | |
---|---|
UNKNOWN_RESULT |
切勿设置此默认值! |
SUCCESS |
集成商发送了动态密码。 |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
电话号码未与 associationId 识别的帐号相关联。 |
UNKNOWN_PHONE_NUMBER |
电话号码未与任何帐号关联。在未设置 associationId 时使用。 |
MESSAGE_UNABLE_TO_BE_SENT |
集成商出于某种原因无法发送动态密码。这是一个暂时性错误,可能会导致此调用被重试。 |
INVALID_PHONE_NUMBER |
电话号码格式不正确。 |
NOT_ELIGIBLE |
用户的帐号无法使用此服务。 |
OTP_LIMIT_REACHED |
用户请求或尝试验证的动态密码过多。 |
ACCOUNT_CLOSED |
集成者持有的用户帐号已关闭。只有在使用“associationId”来标识此用户时,才应使用此字段。 返回此值会导致用户付款方式被 Google 关闭。系统将要求用户重新执行关联流程,以强制添加新付款方式。 |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
用户与集成商的帐号已关闭,怀疑帐号接管。只有在使用“associationId”来标识此用户时,才应使用此字段。 返回此值会导致用户付款方式被 Google 关闭。系统将要求用户重新执行关联流程,以强制添加新付款方式。 |
ACCOUNT_CLOSED_FRAUD |
由于欺诈行为,用户持有的集成者帐号已被关闭。只有在使用“associationId”来标识此用户时,才应使用此字段。 返回此值会导致用户付款方式被 Google 关闭。系统将要求用户重新执行关联流程,以强制添加新付款方式。 |