- HTTP 请求
- 请求正文
- 响应正文
- OtpContext
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- 空
- SendOtpResultCode
请求集成商向电话号码发送动态密码。
如果集成商返回 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
请求动态密码的上下文。
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 关闭。系统将强制要求用户重新执行关联流程以添加新的付款方式。 |