Method: externaltransactions.refundexternaltransaction

بازپرداخت یا بازپرداخت جزئی یک تراکنش خارجی موجود.

درخواست HTTP

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

این URL از سینتکس Transcoding در 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)

الزامی. زمانی که تراکنش بازپرداخت شده است.

از RFC 3339 استفاده می‌کند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده می‌کند. آفست‌های غیر از "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

بازپرداخت جزئی

بازپرداخت جزئی از مبلغ معامله.

نمایش JSON
{
  "refundId": string,
  "refundPreTaxAmount": {
    object (Price)
  }
}
فیلدها
refundId

string

الزامی. یک شناسه منحصر به فرد که این بازپرداخت جزئی را متمایز کند. اگر بازپرداخت موفقیت‌آمیز باشد، بازپرداخت‌های بعدی با همان شناسه ناموفق خواهند بود. باید برای بازپرداخت‌های یک تراکنش منحصر به فرد باشد.

refundPreTaxAmount

object ( Price )

الزامی. مبلغ بازپرداخت جزئی قبل از کسر مالیات. باید کمتر از مبلغ باقیمانده قبل از کسر مالیات معامله باشد.

بازپرداخت کامل

این نوع هیچ فیلدی ندارد.

بازپرداخت کامل مبلغ باقیمانده از یک تراکنش.