Method: refund

ניתן לקבל החזר כספי על חלק מהעסקה או על העסקה כולה שהתבצעה דרך capture. השילוב של requestId בכותרת ו-paymentIntegratorAccountId הוא המפתח של האידמפוטנטיות, שמזהה את העסקה הזו באופן ייחודי.

אם נקודת הקצה נתקלה בשגיאה במהלך עיבוד הבקשה, גוף התגובה מנקודת הקצה הזו צריך להיות מסוג 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": string,
  "captureRequestId": string,
  "currencyCode": string,
  "refundAmount": string
}
שדות
requestHeader

object (RequestHeader)

חובה: כותרת משותפת לכל הבקשות.

paymentIntegratorAccountId

string

חובה: זהו מספר החשבון של הכלי לשילוב תשלומים שמגדיר אילוצים חוזיים בנוגע לעסקה.

captureRequestId

string

חובה: מזהה ייחודי לעסקה. זהו requestId שנוצר על ידי Google במהלך השיחה ב-capture שאליה משויכת הבקשה הזו.

currencyCode

string

חובה: קוד מטבע בן 3 אותיות לפי תקן ISO 4217

refundAmount

string (Int64Value format)

חובה: סכום ההחזר הכספי, מספר חיובי של מיקרו של יחידת המטבע.

גוף התשובה

אובייקט מסוג תשובה בנוגע לשיטת ההחזר הכספי.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:

ייצוג JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorRefundId": string,
  "result": enum (RefundResultCode),
  "rawResult": {
    object (RawResult)
  }
}
שדות
responseHeader

object (ResponseHeader)

חובה: כותרת משותפת לכל התשובות.

paymentIntegratorRefundId

string

אופציונלי: המזהה הזה הוא ספציפי לכלי השילוב, והוא נוצר על ידי מבצע השילוב. זהו המזהה שבאמצעותו מבצע השילוב יודע את ההחזר הכספי הזה.

לנוחיותכם, המזהה הזה נכלל בפרטי ההעברה

result

enum (RefundResultCode)

חובה: התוצאה של ההחזר הכספי.

rawResult

object (RawResult)

אופציונלי: תוצאה גולמית של ההחזר הכספי. הנתונים משמשים לקבלת מידע על מנוע הסיכון של Google ועל ניתוח נתונים. במצבים של מיפוי קוד, הנתונים אובדים לפעמים. מבצע השילוב יכול לתת ל-Google קוד גולמי. לדוגמה, שער של כרטיס אשראי (המבצע) יכול להשתמש בשדה הזה כדי להעביר ל-Google את קוד הדחייה המדויק שהתקבל מרשת VISA. במקרה כזה, scope יהיה "Visa" והערך rawCode יהיה הערך שרשת VISA תחזיר.

הערך הזה הוא חובה אם result אינו SUCCESS.

RefundResultCode

ההחזרים הכספיים על קודי התוצאות הייחודיים.

טיפוסים בני מנייה (enum)
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 לא ניתן לעבד את ההחזר הכספי כי משך הזמן שהוקצב לקבלת ההחזר הכספי חלף.