在 refund
方法呼叫後,向 Google 告知退款結果。
在 refund
方法呼叫期間,系統應同步處理退款,但此方法會在執行呼叫後失敗時傳送快速備份信號,以免傳回結果。這樣可以避免 Google 為日後重試重試而造成的延遲。
這個 refundRequestId
的 refundResult
值為冪等的值,因此後續無法透過呼叫此方法變更這個值。
如果端點在處理要求時發生錯誤,此端點的回應就會是
類型。ErrorResponse
如果這個方法未傳回 HTTP 200,則這個查詢的回應可能為空白。如果可以使用
的詳細說明,則可讓攻擊者瞭解其他整合商的付款整合商帳戶 ID。在這些情況下,如果簽署金鑰不相符、找不到付款整合商 ID 或加密金鑰不明,這個方法就會傳回空的 HTTP 404。如果可以驗證要求簽章,系統會在回應內文中傳回錯誤的詳細資訊。ErrorResponse
要求範例如下:
{
"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 |
必備條件:發生退款的付款整合商帳戶 ID。 |
refundRequestId |
REQUIRED:這筆退款的專屬 ID,在呼叫 |
refundResult |
REQUIRED:這筆退款的結果。 |
paymentIntegratorRefundId |
REQUIRED:整合商專屬 ID,由整合商產生。這是整合商所知的退款 ID。 為方便起見,這項資訊會顯示在匯款詳細資料中 |
回應主體
refundResultNotification
方法的回應物件。
如果成功,回應主體即會包含具有以下結構的資料:
JSON 表示法 |
---|
{ "responseHeader": { object ( |
欄位 | |
---|---|
responseHeader |
必要:所有回應的通用標頭。 |
result |
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 |
退款結果通知成功。 |