Method: disburseFundsResultNotification

在發出 disburseFunds 方法呼叫後,通知 Google 付款結果。

disburseFundsRequestIddisburseFundsResult 值為冪等,因此其值必須與 disburseFunds 呼叫期間傳回的值相同,且無法透過後續呼叫這個方法變更。

如果端點在處理要求時發生錯誤,這個端點的回應就會是 ErrorResponse 類型。

如果這個方法未傳回 HTTP 200,則這項查詢的回應不得為空白。回應主體空白時,附帶清楚說明的 ErrorResponse 可用於協助攻擊者瞭解其他整合商的付款整合商帳戶 ID。在這些情況下,如果簽署金鑰不符、找不到付款整合商 ID,或是加密金鑰不明,這個方法就會傳回含有空白主體的 HTTP 404。如果要求簽章可供驗證,系統會在回應主體中傳回與錯誤相關的額外資訊。

要求範例如下:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "KcgwSKrV76eVNDUbsZ4UA3",
    "requestTimestamp": "1481852928293"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "disburseFundsRequestId": "awNaC510cefae3IJdNEvW2",
  "disburseFundsResult": {
    "disburseFundsResultCode": "SUCCESS"
  }
}

回應範例如下所示:


{
  "responseHeader": {
    "responseTimestamp": "1481852928324"
  },
  "result": "SUCCESS"
}

HTTP 要求

POST https://vgw.googleapis.com/secure-serving/gsp/v1/disburseFundsResultNotification/:PIAID

要求主體

要求主體的資料會採用以下結構:

JSON 表示法
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "disburseFundsRequestId": string,
  "disburseFundsResult": {
    object (DisburseFundsResult)
  }
}
欄位
requestHeader

object (RequestHeader)

必要項目:所有要求的通用標頭。

paymentIntegratorAccountId

string

必要項目:撥款時使用的付款整合商帳戶 ID。

disburseFundsRequestId

string

必要項目:這筆交易的專屬 ID。這是 Google 在與這項要求相關聯的 disburseFunds 呼叫期間產生的 requestId

這個字串的長度上限為 100 個半形字元,而且只能包含「a-z」、「A-Z」、「0-9」、「:」、「-」和「_」等字元。

disburseFundsResult

object (DisburseFundsResult)

必要項目:這筆付款呼叫的結果。

回應主體

disburseFundsResultNotification 方法的回應物件。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (DisburseFundsResultNotificationResultCode)
}
欄位
responseHeader

object (ResponseHeader)

必要項目:所有回應的通用標頭。

result

enum (DisburseFundsResultNotificationResultCode)

REQUIRED:呼叫的結果。

DisburseFundsResult

最終款項撥付結果的相關資訊。

JSON 表示法
{
  "disburseFundsResultCode": enum (DisburseFundsResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string
  // End of list of possible types for union field FailureDetail.
}
欄位
disburseFundsResultCode

enum (DisburseFundsResultCode)

必要項目:這筆付款的結果代碼。

rawResult

object (RawResult)

選用:這筆付款的原始結果。有助於通知 Google 的風險引擎和分析結果。在拒絕代碼對應的情況下,資料有時會遺失。整合商可以選擇向 Google 提供原始代碼。舉例來說,信用卡支付平台 (整合商) 可使用這個欄位將實際從 VISA 網路收到的拒絕代碼傳送給 Google。在這種情況下,scope 會是「visa」而 rawCode 則是 VISA 網路傳回的內容。

如果 result 不是 SUCCESS,則這個值為必填

聯集欄位 FailureDetail

FailureDetail 只能採用下列其中一種設定:

transactionMaxLimit

string (Int64Value format)

選用:如果 disburseFundsResultCodeDISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT,就是允許交易的最大值。這可用於以結構化的方式向使用者顯示訊息和拒絕率分析。

這個量是與原始 disburseFunds 方法呼叫相同 currencyCode微量

transactionMinLimit

string (Int64Value format)

OPTIONAL:如果 disburseFundsResultCodeDISBURSEMENT_UNDER_TRANSACTION_LIMIT,則這是允許交易的最低值。這可用於以結構化的方式向使用者顯示訊息和拒絕率分析。

這個量是與原始 disburseFunds 方法呼叫相同 currencyCode微量

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

string

OPTIONAL:rawCode 的範圍可留空。

rawCode

string

必要項目:整合服務供應商或子系統中的原始程式碼。

DisburseFundsResultNotificationResultCode

disburseFundsResultNotification 方法的結果代碼。

列舉
UNKNOWN_RESULT 切勿設定這個預設值!
SUCCESS 通知已成功處理。