Method: externaltransactions.refundexternaltransaction

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

בקשת HTTP

POST https://androidpublisher.googleapis.com/androidpublisher/v3/{name=applications/*/externalTransactions/*}:refund

כתובת ה-URL כתובה בתחביר של gRPC Transcoding.

פרמטרים של נתיב

פרמטרים
name

string

חובה. שם העסקה החיצונית שיוחזר עליה כסף. פורמט: applications/{packageName}/externalTransactions/{externalTransaction}

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "refundTime": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "partialRefund": {
    object (PartialRefund)
  },
  "fullRefund": {
    object (FullRefund)
  }
  // End of mutually exclusive fields.
}
שדות
refundTime

string (Timestamp format)

חובה. הזמן בו הוחזר העסקה.

הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

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

object (PartialRefund)

החזר כספי חלקי.

fullRefund

object (FullRefund)

החזר כספי מלא.

סוף השדות הבלעדיים.

גוף התשובה

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

דוגמה

דוגמה לבקשה:

curl \
  -X POST \
  'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.example.app/externalTransactions/foo:refund' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  -H 'Content-Type: application/json' \
  -d '{ \
    "partialRefund": { \
      "refundId": "my_refund_id", \
      "refundPreTaxAmount": { \
        "currency": "USD", \
        "priceMicros": "10120000" \
      } \
    }, \
    "refundTime": "2023-10-20T16:43:32.852Z" \
  }'

זוהי דוגמה לתשובה:

{
  "externalTransactionId": "1234567890123456789012345678901234567890123456789012345678901234",
  "originalPreTaxAmount": {
    "currency": "USD",
    "priceMicros": "1990000"
  },
  "originalTaxAmount": {
    "currency": "USD",
    "priceMicros": "11400000"
  },
  "packageName": "com.example.app",
  "transactionState": "TRANSACTION_CANCELED",
  "transactionTime": "2023-04-01T12:00:00Z",
  "userTaxAddress": {
    "regionCode": "US"
  },
  "createTime": "2023-04-01T11:55:00Z",
  "currentPreTaxAmount": {
    "currency": "USD",
    "priceMicros": "0"
  },
  "currentTaxAmount": {
    "currency": "USD",
    "priceMicros": "0"
  },
  "testPurchase": {},
  "recurringTransaction": {
    "initialExternalTransactionId": "9876543210987654321098765432109876543210987654321098765432109876",
    "externalSubscription": {
      "subscriptionType": "RECURRING"
    }
  }
}

היקפי הרשאות

נדרש היקף ההרשאות הבא של OAuth:

  • https://www.googleapis.com/auth/androidpublisher

PartialRefund

החזר כספי חלקי על עסקה.

ייצוג JSON
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
שדות
refundId

string

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

refundPreTaxAmount

object (Price)

חובה. הסכום לפני מס של ההחזר הכספי החלקי. הסכום צריך להיות נמוך מהסכום שנותר בעסקה לפני מס.

FullRefund

בסוג הזה אין שדות.

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