透過 capture
發起的全額或部分交易退款。標頭中的 paymentIntegratorAccountId
與 requestId
的組合是冪等鍵,用於識別這筆交易。
如果端點在處理要求時發生錯誤,此端點的回應內文就應該是
類型。ErrorResponse
要求範例如下:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"currencyCode": "INR",
"refundAmount": "208000000"
}
回應範例如下:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}
HTTP 要求
POST https://www.integratorhost.example.com/v1/refund
要求主體
要求主體的資料會採用以下結構:
JSON 表示法 |
---|
{
"requestHeader": {
object ( |
欄位 | |
---|---|
requestHeader |
必要:所有要求的通用標頭。 |
paymentIntegratorAccountId |
必要:這是付款整合商帳戶 ID,用來定義這筆交易的合約限制。 |
captureRequestId |
REQUIRED:這筆交易的專屬 ID。這是 Google 在 |
currencyCode |
必要:由 3 個字母組成的 ISO 4217 貨幣代碼 |
refundAmount |
必要:退款金額,正好為貨幣單位的微量。 |
回應主體
退款方法的回應物件。
如果成功,回應主體即會包含具有以下結構的資料:
JSON 表示法 |
---|
{ "responseHeader": { object ( |
欄位 | |
---|---|
responseHeader |
必要:所有回應的通用標頭。 |
paymentIntegratorRefundId |
OPTIONAL:該識別碼是由整合商所產生。這是整合商所知的退款 ID。 為方便起見,這項資訊會顯示在匯款詳細資料中 |
result |
REQUIRED:這筆退款的結果。 |
rawResult |
OPTIONAL:這筆退款的原始金額。有助於通知 Google 的風險引擎和分析。在拒絕代碼中,資料有時會遺失。整合商可以選擇向 Google 提供原始代碼。舉例來說,信用卡支付平台 (整合商) 可能會使用這個欄位,向 Google 提供 VISA 網路傳送的確切拒絕代碼。在這種情況下, 如果 |
RefundResultCode
專屬結果代碼退款。
列舉 | |
---|---|
UNKNOWN_RESULT |
不要設定這個預設值! |
SUCCESS |
退款成功。 |
NO_MONEY_LEFT_ON_TRANSACTION |
v1.refund 失敗,交易中沒有任何餘額。這通常代表整合商和 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 |
退款要求已超過允許的退款期限,因此無法處理。 |