啟動付款處理方與客戶帳戶的資金轉移。標頭與 paymentIntegratorAccountId 的組合 requestId 是冪等鍵,可以用來識別這筆交易。這筆交易的所有異動都會在 disburseFundsRequestId 欄位中填入 requestId 值。
如果端點在處理要求時發生錯誤,來自此端點的回應主體應為 類型。ErrorResponse
要求範例如下:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"upiDetails": {
"vpa": "foo@icici"
},
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "208000000"
}
回應範例如下所示:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
"disburseFundsResult": {
"disburseFundsResultCode": "SUCCESS"
}
}
HTTP 要求
POST https://www.integratorhost.example.com/v1/disburseFunds
要求主體
要求主體的資料會採用以下結構:
| JSON 表示法 |
|---|
{ "requestHeader": { object ( |
| 欄位 | |
|---|---|
requestHeader |
必要項目:所有要求的通用標頭。 |
paymentIntegratorAccountId |
必要項目:此付款整合商帳戶 ID,可識別這筆交易的合約限制。 |
transactionDescription |
必要項目:可填入客戶對帳單中的交易說明。已翻譯成 |
currencyCode |
必要項目:採用 3 個字母組成的 ISO 4217 貨幣代碼 |
amount |
必要項目:購買金額 (以貨幣單位的百萬分之一為單位)。 |
聯集欄位
|
|
upiDetails |
選用:UPI 付款方式專屬的付款詳情。 |
回應主體
付款方法的回應物件。
如果成功,回應主體會含有以下結構的資料:
| JSON 表示法 |
|---|
{ "responseHeader": { object ( |
| 欄位 | |
|---|---|
responseHeader |
必要項目:所有回應的通用標頭。 |
paymentIntegratorTransactionId |
必要項目:此 ID 專屬於整合商,由整合商產生。這是整合商瞭解這筆交易的 ID。 為了方便起見,匯款詳細資料已包含這個 ID。 |
disburseFundsResult |
必要項目:撥款要求結果。 |
UpiDetails
要撥款的 UPI 帳戶詳細資料。
| JSON 表示法 |
|---|
{ "vpa": string } |
| 欄位 | |
|---|---|
vpa |
必要項目:使用者透過 UPI 通訊協定轉移款項時使用的虛擬收款地址 (VPA)。例如 foo@icici。 |
DisburseFundsResult
最終款項撥付結果的相關資訊。
| JSON 表示法 |
|---|
{ "disburseFundsResultCode": enum ( |
| 欄位 | |
|---|---|
disburseFundsResultCode |
必要項目:這筆付款的結果代碼。 |
rawResult |
選用:這筆付款的原始結果。有助於通知 Google 的風險引擎和分析結果。在拒絕代碼對應的情況下,資料有時會遺失。整合商可以選擇向 Google 提供原始代碼。舉例來說,信用卡支付平台 (整合商) 可使用這個欄位將實際從 VISA 網路收到的拒絕代碼傳送給 Google。在這種情況下, 如果 |
聯集欄位
|
|
transactionMaxLimit |
選用:如果 這個量是與原始 |
transactionMinLimit |
OPTIONAL:如果 這個量是與原始 |
DisburseFundsResultCode
付款呼叫的結果代碼。
| 列舉 | |
|---|---|
UNKNOWN_RESULT |
切勿設定這個預設值! |
SUCCESS |
付款成功。 |
DISBURSEMENT_UNDER_TRANSACTION_LIMIT |
要求的支付金額與整合商的最低單筆交易金額不符。如果使用這組代碼,請在 transactionMinLimit 欄位填入最低交易金額,以便使用者傳送訊息。 |
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT |
要求的支付金額超過整合商設定的單筆交易上限。如果使用這組代碼,請在 transactionMaxLimit 欄位填入交易上限,以便使用者傳送訊息。 |
ACCOUNT_CLOSED |
與整合商一同保留的使用者帳戶已關閉。這個傳回值會關閉使用者的付款方式,並向 Google 關閉。系統將強制使用者新增付款方式。 |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
整合商的使用者的帳戶已遭關閉,疑似帳戶接管。這個傳回值會關閉使用者的付款方式,並向 Google 關閉。系統將強制使用者新增付款方式。 |
ACCOUNT_CLOSED_FRAUD |
您提供給整合商的帳戶因詐欺行為而遭到關閉。這個傳回值會關閉使用者的付款方式,並向 Google 關閉。系統將強制使用者新增付款方式。 |
ACCOUNT_ON_HOLD |
使用者帳戶為保留狀態。 |
RawResult
原始結果物件。
| JSON 表示法 |
|---|
{ "scope": string, "rawCode": string } |
| 欄位 | |
|---|---|
scope |
OPTIONAL:rawCode 的範圍可留空。 |
rawCode |
必要項目:整合服務供應商或子系統中的原始程式碼。 |