Method: externaltransactions.refundexternaltransaction

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

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

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

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

पाथ पैरामीटर

पैरामीटर
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)

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

यह आरएफ़सी 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

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

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