Method: refundResultNotification

refund 方法呼叫後,向 Google 告知退款結果。

refund 方法呼叫期間,系統應同步處理退款,但此方法會在執行呼叫後失敗時傳送快速備份信號,以免傳回結果。這樣可以避免 Google 為日後重試重試而造成的延遲。

這個 refundRequestIdrefundResult 值為冪等的值,因此後續無法透過呼叫此方法變更這個值。

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

如果這個方法未傳回 HTTP 200,則這個查詢的回應可能為空白。如果可以使用 ErrorResponse 的詳細說明,則可讓攻擊者瞭解其他整合商的付款整合商帳戶 ID。在這些情況下,如果簽署金鑰不相符、找不到付款整合商 ID 或加密金鑰不明,這個方法就會傳回空的 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

必備條件:發生退款的付款整合商帳戶 ID。

refundRequestId

string

REQUIRED:這筆退款的專屬 ID,在呼叫 refund 方法時由 requestId 欄位建立。

refundResult

enum (RefundResultCode)

REQUIRED:這筆退款的結果。

paymentIntegratorRefundId

string

REQUIRED:整合商專屬 ID,由整合商產生。這是整合商所知的退款 ID。

為方便起見,這項資訊會顯示在匯款詳細資料中

回應主體

refundResultNotification 方法的回應物件。

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

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

object (ResponseHeader)

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

result

enum (RefundResultNotificationResultCode)

REQUIRED:呼叫的結果。

RefundResultCode

專屬結果代碼退款。

列舉
UNKNOWN_RESULT 不要設定這個預設值!
SUCCESS 退款成功。
NO_MONEY_LEFT_ON_TRANSACTION 退款失敗,交易中目前沒有任何餘額。這通常代表整合商和 Google 之間的錯誤。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 退款結果通知成功。