要求整合服務商將動態密碼傳送至電話號碼。
如果整合商傳回 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 。必要項目:此為必須傳送動態密碼的帳戶 ID。account_identifier 只能採用下列其中一種設定: |
|
accountPhoneNumber |
此為 E.164 格式的電話號碼。範例包括 +14035551111 和 +918067218000。這一律會以 + 開頭,且後面只會加上數字 (無破折號)。 使用者一開始將帳戶與 Google 建立關聯並在重新建立關聯時,系統就會填入這項資料。 |
associationId |
此為關聯 ID,用來參照使用者的帳戶。 這會填入初次連結後的所有後續呼叫。 |
回應主體
sendOtp 方法的回應物件。
如果成功,回應主體會含有以下結構的資料:
JSON 表示法 |
---|
{ "responseHeader": { object ( |
欄位 | |
---|---|
responseHeader |
必要項目:所有回應的通用標頭。 |
paymentIntegratorSendOtpId |
選用:整合商可透過 ID 得知這項傳送動態密碼要求。這是已產生的整合商。 |
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 關閉使用者的付款方式。系統會要求使用者再次完成關聯流程,以新增付款方式。 |