REST Resource: purchases.productsv2

منبع: ProductPurchaseV2

یک منبع ProductPurchaseV2 وضعیت خرید محصول درون‌برنامه‌ای کاربر را نشان می‌دهد.

نمایش JSON
{
  "productLineItem": [
    {
      object (ProductLineItem)
    }
  ],
  "kind": string,
  "purchaseStateContext": {
    object (PurchaseStateContext)
  },
  "testPurchaseContext": {
    object (TestPurchaseContext)
  },
  "orderId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "purchaseCompletionTime": string,
  "acknowledgementState": enum (AcknowledgementState)
}
فیلدها
productLineItem[]

object ( ProductLineItem )

شامل اطلاعات سطح آیتم برای ProductPurchaseV2 است.

kind

string

این نوع، یک شیء ProductPurchaseV2 را در سرویس androidpublisher نشان می‌دهد.

purchaseStateContext

object ( PurchaseStateContext )

اطلاعات مربوط به وضعیت خرید.

testPurchaseContext

object ( TestPurchaseContext )

اطلاعات مربوط به خریدهای آزمایشی. این اطلاعات فقط برای خریدهای آزمایشی تنظیم می‌شود.

orderId

string

شناسه سفارش مرتبط با خرید محصول inapp. اگر سفارشی مرتبط با خرید وجود نداشته باشد، ممکن است تنظیم نشود.

obfuscatedExternalAccountId

string

یک نسخه مبهم از شناسه که به طور منحصر به فرد با حساب کاربر در برنامه شما مرتبط است. فقط در صورتی ارائه می‌شود که هنگام خرید با استفاده از https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid مشخص شده باشد.

obfuscatedExternalProfileId

string

یک نسخه مبهم از شناسه که به طور منحصر به فرد با پروفایل کاربر در برنامه شما مرتبط است. فقط در صورتی ارائه می‌شود که هنگام خرید با استفاده از https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid مشخص شده باشد.

regionCode

string

کد منطقه صدور صورتحساب ISO 3166-1 alpha-2 مربوط به کاربر در زمان اعطای محصول.

purchaseCompletionTime

string ( Timestamp format)

زمانی که خرید موفقیت‌آمیز بوده است، یعنی زمانی که PurchaseState به PURCHASED تغییر کرده است. این فیلد تا زمانی که پرداخت کامل نشود، نمایش داده نخواهد شد. برای مثال، اگر کاربر یک تراکنش در حال انتظار ( https://developer.android.com/google/play/billing/integrate#pending ) را آغاز کرده باشد، این فیلد تا زمانی که کاربر مراحل مورد نیاز برای تکمیل تراکنش را با موفقیت انجام ندهد، پر نخواهد شد.

از RFC 3339 استفاده می‌کند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده می‌کند. آفست‌های غیر از "Z" نیز پذیرفته می‌شوند. مثال‌ها: "2014-10-02T15:01:23Z" ، "2014-10-02T15:01:23.045123456Z" یا "2014-10-02T15:01:23+05:30" .

acknowledgementState

enum ( AcknowledgementState )

فقط خروجی. وضعیت تأیید خرید.

PurchaseStateContext

زمینه در مورد وضعیت خرید.

نمایش JSON
{
  "purchaseState": enum (PurchaseState)
}
فیلدها
purchaseState

enum ( PurchaseState )

فقط خروجی. وضعیت خرید.

خرید ایالت

ایالت‌های خرید احتمالی

انوم‌ها
PURCHASE_STATE_UNSPECIFIED وضعیت خرید مشخص نشده است. این مقدار هرگز نباید تنظیم شود.
PURCHASED با موفقیت خریداری شد.
CANCELLED خرید لغو شد.
PENDING خرید در حالت تعلیق است و هنوز تکمیل نشده است. برای اطلاعات بیشتر در مورد مدیریت خریدهای در حال تعلیق، به https://developer.android.com/google/play/billing/integrate#pending مراجعه کنید.

TestPurchaseContext

متن در مورد خرید آزمایشی.

نمایش JSON
{
  "fopType": enum (FopType)
}
فیلدها
fopType

enum ( FopType )

نوع fop خرید آزمایشی.

فُپ‌تایپ

انواع احتمالی فوپ.

انوم‌ها
FOP_TYPE_UNSPECIFIED نوع Fop مشخص نشده است. این مقدار هرگز نباید تنظیم شود.
TEST خرید با استفاده از کارت آزمایشی انجام شد.

آیتم خط محصول

شامل اطلاعات سطح آیتم برای ProductPurchaseV2 است.

نمایش JSON
{
  "productId": string,
  "productOfferDetails": {
    object (ProductOfferDetails)
  }
}
فیلدها
productId

string

شناسه محصول خریداری شده (برای مثال، 'monthly001').

productOfferDetails

object ( ProductOfferDetails )

جزئیات پیشنهاد برای این کالا

جزئیات پیشنهاد محصول

اطلاعات جزئی مربوط به یک کالای خط خرید را ارائه دهید.

نمایش JSON
{
  "offerTags": [
    string
  ],
  "offerId": string,
  "purchaseOptionId": string,
  "rentOfferDetails": {
    object (RentOfferDetails)
  },
  "offerToken": string,
  "quantity": integer,
  "refundableQuantity": integer,
  "consumptionState": enum (ConsumptionState)
}
فیلدها
offerTags[]

string

آخرین برچسب‌های پیشنهاد مرتبط با پیشنهاد. این شامل برچسب‌هایی است که از گزینه خرید به ارث رسیده‌اند.

offerId

string

شناسه پیشنهاد. فقط برای پیشنهادها ارائه می‌شود.

purchaseOptionId

string

شناسه گزینه خرید.

rentOfferDetails

object ( RentOfferDetails )

جزئیات پیشنهاد اجاره. این مورد فقط برای اقلام ردیف اجاره تنظیم می‌شود.

offerToken

string

توکن پیشنهاد به ازای هر تراکنش که برای ایجاد این ردیف خرید استفاده شده است.

quantity

integer

مقدار مرتبط با خرید محصول inapp.

refundableQuantity

integer

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

consumptionState

enum ( ConsumptionState )

فقط خروجی. وضعیت مصرف خرید.

جزئیات پیشنهاد اجاره

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

اطلاعات جزئی مربوط به یک کالای اجاره‌ای را ارائه دهید.

مصرف دولتی

حالات مصرف احتمالی.

انوم‌ها
CONSUMPTION_STATE_UNSPECIFIED وضعیت مصرف مشخص نشده است. این مقدار هرگز نباید تنظیم شود.
CONSUMPTION_STATE_YET_TO_BE_CONSUMED هنوز باید مصرف شود.
CONSUMPTION_STATE_CONSUMED قبلاً مصرف شده.

وضعیت تقدیر و تشکر

وضعیت تایید محصول یکبار مصرف.

انوم‌ها
ACKNOWLEDGEMENT_STATE_UNSPECIFIED وضعیت تأیید نامشخص.
ACKNOWLEDGEMENT_STATE_PENDING خرید هنوز تایید نشده است.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED خرید تایید میشه.

روش‌ها

getproductpurchasev2

وضعیت خرید و مصرف یک کالای درون‌برنامه‌ای را بررسی می‌کند.

کدهای خطا

عملیات این منبع، کدهای خطای HTTP زیر را برمی‌گرداند:

کد خطا دلیل توضیحات وضوح تصویر
400 invalidPurchaseState خرید در وضعیت معتبری برای انجام عملیات درخواستی نیست. برای مثال، ممکن است بخواهید خریدی را که قبلاً انجام شده است تأیید کنید یا اشتراکی را که فعال نیست لغو کنید. قبل از انجام عملیات، وضعیت فعلی منبع را با استفاده از Get API مربوطه بررسی کنید. مطمئن شوید که منبع در وضعیت مناسبی برای انجام عملیات قرار دارد.
400 invalidValue مقدار نامعتبری در درخواست ارائه شده است. این اغلب به عنوان یک توکن خرید ناقص یا نامعتبر برگردانده می‌شود. مقدار فیلد نامعتبر را در بدنه درخواست یا پارامترها بر اساس مرجع API اصلاح کنید.
400 productNotOwnedByUser توکن خرید ارائه شده معتبر است، اما کاربر در حال حاضر مالک محصول نیست. این اتفاق می‌تواند در صورتی رخ دهد که خرید قبل از تأیید، بازپرداخت، لغو یا منقضی شده باشد. قبل از انجام عملیات، وضعیت فعلی منبع را با استفاده از Get API مربوطه بررسی کنید. مطمئن شوید که منبع در وضعیت مناسبی برای انجام عملیات قرار دارد.
400 purchaseTokenMismatch توکن خرید ارائه شده با خرید، نام بسته، شناسه اشتراک یا شناسه محصول مطابقت ندارد. تأیید کنید که تمام جزئیات موجود در درخواست صحیح و با یکدیگر مطابقت دارند.
400 required یک فیلد یا پارامتر الزامی در درخواست وجود ندارد. برای اطمینان از وجود تمام فیلدها و پارامترهای اجباری، به مستندات API مراجعه کنید.
400 unsupportedIabType این عملیات برای نوع پرداخت درون‌برنامه‌ای ارائه شده پشتیبانی نمی‌شود. مطمئن شوید که متد API با نوع آیتمی که مدیریت می‌شود سازگار است.
403 userInsufficientPermission کاربر مجوز کافی برای انجام عملیات درخواستی را ندارد. مطمئن شوید که کاربر احراز هویت شده مجوزهای لازم را در کنسول گوگل پلی دارد. برای جزئیات بیشتر به بخش «استفاده از حساب کاربری سرویس» مراجعه کنید.
404 notFound منبع مورد نظر یافت نشد. تأیید کنید که شناسه‌ها (مثلاً توکن خرید، نام بسته، شناسه محصول، شناسه اشتراک) صحیح باشند.
409 concurrentUpdate تلاشی برای به‌روزرسانی شیء‌ای که به‌طور همزمان به‌روزرسانی می‌شود، صورت گرفته است. درخواست را با backoff نمایی دوباره امتحان کنید. از تغییرات همزمان در همان منبع خودداری کنید.
5xx Generic error خطای عمومی در سرور گوگل پلی. درخواست خود را دوباره امتحان کنید.

اگر مشکل همچنان ادامه داشت، با مدیر حساب Google Play خود تماس بگیرید یا درخواست پشتیبانی ارسال کنید. داشبورد وضعیت Play را برای هرگونه قطعی شناخته شده بررسی کنید.