要求整合商傳送動態密碼給手機號碼。
如果整合商傳回 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 |
OPTIONAL:要求動態密碼的情境。 |
聯集欄位 account_identifier 。必要:需要傳送動態密碼的帳戶 ID。account_identifier 只能是下列其中一個值: |
|
accountPhoneNumber |
此為 E.164 格式的電話號碼。例如 +14035551111 和 +918067218000。一律以 + 號開頭,且只能使用之後的數字 (無破折號)。 使用者首次將帳戶與 Google 建立關聯,或是在重新連結時建立關聯。 |
associationId |
這是用於參照使用者帳戶的關聯 ID。 初始關聯後,所有後續呼叫會填入這個欄位。 |
回應主體
sendOtp 方法的回應物件。
如果成功,回應主體即會包含具有以下結構的資料:
JSON 表示法 |
---|
{ "responseHeader": { object ( |
欄位 | |
---|---|
responseHeader |
必要:所有回應的通用標頭。 |
paymentIntegratorSendOtpId |
OPTIONAL:整合商知道這個傳送動態密碼要求的 ID。此為系統的整合商。 |
result |
REQUIRED:這項要求的結果 |
OtpContext
要求動態密碼的情境。
JSON 表示法 |
---|
{ // Union field |
欄位 | |
---|---|
聯集欄位 otp_context 。必要:要求動態密碼的情境。otp_context 只能是下列其中一個值: |
|
association |
要求在建立關聯/重新關聯時請求動態密碼。 |
mandateCreation |
在要求建立委託書時,要求使用者提供動態密碼。 |
associationWithMandateCreation |
已要求建立動態密碼與委託書建立。 |
空車
這個類型沒有欄位。
這個物件可用於擴充,因為布林值和列舉通常需要擴充額外資料。實作人員會使用這個變數判斷是否有曝光。此列舉的列舉可以延伸至未來版本的資料。
Empty
的 JSON 表示法為空白的 JSON 物件 {}
。
傳送 OppResultCode
傳送動態密碼要求的結果代碼。
列舉 | |
---|---|
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 關閉。系統會強制使用者再次透過連結流程新增付款方式。 |