Method: disburseFunds

啟動付款處理方和客戶帳戶之間的資金流動。標頭與 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": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field destinationFopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  }
  // End of list of possible types for union field destinationFopDetails.
}
欄位
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

必要項目:這是付款整合商帳戶 ID,用於識別這筆交易的相關合約限制。

transactionDescription

string

必要項目:可加入客戶對帳單中的交易說明。已本地化為 requestHeader 中找到的 userLocale。這個格式在未通知的情況下變更,也一律不得剖析。

currencyCode

string

必要項目:以 3 個字母表示的 ISO 4217 貨幣代碼

amount

string (Int64Value format)

必要項目:購買金額,以貨幣單位微量為單位。

聯集欄位 destinationFopDetails

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

upiDetails

object (UpiDetails)

選用:UPI 付款方式專屬的付款詳細資料。

回應主體

付款方法的回應物件。

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

JSON 表示法
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "disburseFundsResult": {
    object (DisburseFundsResult)
  }
}
欄位
responseHeader

object (ResponseHeader)

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

paymentIntegratorTransactionId

string

必要項目:這個 ID 專屬於整合商,由整合商產生。這是整合商可辨識這筆交易的 ID。

為了方便起見,匯款詳細資料中包含這個 ID

disburseFundsResult

object (DisburseFundsResult)

必要項目:撥款付款通話的結果。

UpiDetails

要撥款的 UPI 帳戶詳細資料。

JSON 表示法
{
  "vpa": string
}
欄位
vpa

string

必要項目:使用 UPI 通訊協定進行匯款的使用者虛擬付款地址 (VPA)。例如 foo@icici

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)

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

如果 result 不是 SUCCESS,此為必填值。

聯集欄位 FailureDetail

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

transactionMaxLimit

string (Int64Value format)

OPTIONAL:如果 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

選用:rawCode 的範圍可以空白。

rawCode

string

必要項目:整合商或子系統的原始代碼。