Method: externaltransactions.refundexternaltransaction

किसी मौजूदा बाहरी लेन-देन का पूरा या कुछ हिस्सा रिफ़ंड करता है.

एचटीटीपी अनुरोध

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

यूआरएल में gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल किया गया है.

पाथ पैरामीटर

पैरामीटर
name

string

ज़रूरी है. उस बाहरी लेन-देन का नाम जिसका रिफ़ंड किया जाएगा. फ़ॉर्मैट: applications/{packageName}/externalTransactions/{externalTransaction}

अनुरोध का मुख्य भाग

अनुरोध के मुख्य भाग में, नीचे दिए गए स्ट्रक्चर वाला डेटा होता है:

JSON के काेड में दिखाना
{
  "refundTime": string,

  // Union field refund_type can be only one of the following:
  "partialRefund": {
    object (PartialRefund)
  },
  "fullRefund": {
    object (FullRefund)
  }
  // End of list of possible types for union field refund_type.
}
फ़ील्ड
refundTime

string (Timestamp format)

ज़रूरी है. लेन-देन का रिफ़ंड कब किया गया.

आरएफ़सी 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".

यूनियन फ़ील्ड refund_type. ज़रूरी है. बाहरी लेन-देन का रिफ़ंड किस तरह का है. refund_type इनमें से कोई एक हो सकता है:
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

इस टाइप में कोई फ़ील्ड नहीं है.

लेन-देन की बाकी रकम का पूरा रिफ़ंड.