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

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

किसी लेन-देन की बची हुई रकम का पूरा रिफ़ंड.