Method: disburseFundsResultNotification

调用 disburseFunds 方法之后,将付款结果告知 Google。

disburseFundsResult 值对此 disburseFundsRequestId 具有幂等性,因此其值必须与 disburseFunds 调用期间返回的值相同,并且后续调用该方法时无法更改。

如果端点在处理请求时出错,则来自此端点的响应类型为 ErrorResponse

如果此方法未返回 HTTP 200,此查询的响应可能为空。如果可以使用带有明确说明的 ErrorResponse 帮助攻击者了解其他集成商的付款集成商帐号标识符,响应正文将为空。在这些情况下,如果签名密钥不匹配,未找到付款集成商标识符,或者加密密钥未知,则此方法将返回正文为空的 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

必需:付款所用的付款集成商帐号标识符。

disburseFundsRequestId

string

必需:此交易的唯一标识符。这是 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)

必需:此调用的结果。

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 提供原始代码。例如,信用卡网关(集成商)可使用此字段向 Google 传达从 VISA 网络收到的确切被拒代码。在这种情况下,scope 将是“visa”,而 rawCode 将是 VISA 网络返回的值。

如果 result 不为 SUCCESS,则该值是必需的

联合字段 FailureDetail

FailureDetail 只能是下列其中一项:

transactionMaxLimit

string (Int64Value format)

可选:如果 disburseFundsResultCodeDISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT,则这是允许的最大事务值。它适用于面向用户的结构化消息和拒绝率分析。

此数量与原始 disburseFunds 方法调用的 currencyCode 相同,且以微单位表示。

transactionMinLimit

string (Int64Value format)

可选:如果 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 用户的帐号已暂停。

RAW 结果

原始结果对象。

JSON 表示法
{
  "scope": string,
  "rawCode": string
}
字段
scope

string

可选:rawCode 的作用域可以为空。

rawCode

string

必需:来自集成商或其子系统的原始代码。

DisburseFundsResultNotificationResultCode

disburseFundsResultNotification 方法的结果代码。

枚举
UNKNOWN_RESULT 切勿设置此默认值!
SUCCESS 已成功处理通知。