Method: refundResultNotification

调用 refund 方法后,将退款结果告知 Google。

退款应在 refund 方法调用期间同步处理,但如果同步调用在执行操作后失败,但尚未返回结果,此方法可以为 Google 提供快速备用信号。这样可以避免因 Google 安排在未来的时间重试而造成的延迟。

refundResult 值对此 refundRequestId 具有幂等性,因此在后续调用此方法时无法更改其值。

如果端点在处理请求时遇到错误,来自此端点的响应将是 ErrorResponse 类型。

如果此方法没有返回 HTTP 200,则对此查询的响应可能为空。如果包含明确说明的 ErrorResponse 可用于帮助攻击者了解其他集成商的付款集成商账号标识符,则响应正文为空。在这些情况下,如果签名密钥不匹配、未找到付款集成商标识符或加密密钥未知,此方法将返回正文为空的 HTTP 404。如果可以验证请求签名,则会在响应正文中返回有关错误的其他信息。

示例请求如下所示:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

示例响应如下所示:


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

HTTP 请求

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

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
字段
requestHeader

object (RequestHeader)

必需:所有请求的通用标头。

paymentIntegratorAccountId

string

必需:发生退款的付款集成商账号标识符。

refundRequestId

string

必需:此退款的唯一标识符,由 requestId 字段在调用 refund 方法时确定。

refundResult

enum (RefundResultCode)

必需:本次退款的结果。

paymentIntegratorRefundId

string

必需:此标识符专供集成商使用,由集成商生成。这是集成商知道这笔退款的标识符。

为方便起见,汇款详情中已包含此标识符

响应正文

refundResultNotification 方法的响应对象。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (RefundResultNotificationResultCode)
}
字段
responseHeader

object (ResponseHeader)

必需:所有响应的通用标头。

result

enum (RefundResultNotificationResultCode)

必需:此调用的结果。

RefundResultCode

唯一结果代码会退款。

枚举
UNKNOWN_RESULT 切勿设置此默认值!
SUCCESS 退款成功。
NO_MONEY_LEFT_ON_TRANSACTION 退款失败,此交易已无剩余资金。通常,这表示集成商与 Google 之间存在 bug。Google 要求退款的金额不应高于原始照片的退款金额。
ACCOUNT_CLOSED

该集成商持有的账号已关闭。

返回此值将导致用户的付款方式被 Google 关闭。系统将强制要求用户重新执行关联流程以添加新的付款方式。

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

该用户在集成商处的账号已关闭,因为账号疑似被接管。

返回此值将导致用户的付款方式被 Google 关闭。系统将强制要求用户重新执行关联流程以添加新的付款方式。

ACCOUNT_CLOSED_FRAUD

由于欺诈行为,该用户在集成商处的账号已被关闭。

返回此值将导致用户的付款方式被 Google 关闭。系统将强制要求用户重新执行关联流程以添加新的付款方式。

ACCOUNT_ON_HOLD 用户的账号目前处于暂停状态,无法接受退款,但其账号可以在稍后接受退款。Google 以后可能会再次申请退款,但会要求提供新的 requestId,因此此请求应视为已完成。
REFUND_EXCEEDS_MAXIMUM_BALANCE 目前无法处理退款,因为这样做会导致用户的余额超过允许的最高金额。Google 以后可能会再次申请退款,但会要求提供新的 requestId,因此此请求应视为已完成。
REFUND_WINDOW_EXCEEDED 由于此申请已超出允许的退款期限,因此无法处理退款。

RefundResultNotificationResultCode

refundResultNotification 方法的结果代码。

枚举
UNKNOWN_RESULT 切勿设置此默认值!
SUCCESS 已成功发送退款结果通知。