REST Resource: purchases.products

منبع: خرید محصول

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

نمایش JSON
{
  "kind": string,
  "purchaseTimeMillis": string,
  "purchaseState": integer,
  "consumptionState": integer,
  "developerPayload": string,
  "orderId": string,
  "purchaseType": integer,
  "acknowledgementState": integer,
  "purchaseToken": string,
  "productId": string,
  "quantity": integer,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "refundableQuantity": integer
}
فیلدها
kind

string

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

purchaseTimeMillis

string ( int64 format)

مدت زمانی که محصول از تاریخ (اول ژانویه ۱۹۷۰) خریداری شده است، بر حسب میلی‌ثانیه.

purchaseState

integer

وضعیت خرید سفارش. مقادیر ممکن عبارتند از: ۰. خریداری شده ۱. لغو شده ۲. در انتظار خرید

consumptionState

integer

وضعیت مصرف محصول inapp. مقادیر ممکن عبارتند از: ۰. هنوز مصرف نشده ۱. مصرف شده

developerPayload

string

رشته‌ای مشخص‌شده توسط توسعه‌دهنده که حاوی اطلاعات تکمیلی در مورد یک سفارش است.

orderId

string

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

purchaseType

integer

نوع خرید محصول درون‌برنامه‌ای. این فیلد فقط در صورتی تنظیم می‌شود که این خرید با استفاده از جریان استاندارد پرداخت درون‌برنامه‌ای انجام نشده باشد. مقادیر ممکن عبارتند از: ۰. آزمایشی (یعنی از یک حساب آزمایشی لایسنس خریداری شده باشد) ۱. تبلیغاتی (یعنی با استفاده از کد تبلیغاتی خریداری شده باشد). شامل خریدهای امتیاز بازی نمی‌شود. ۲. پاداشی (یعنی از تماشای یک تبلیغ ویدیویی به جای پرداخت)

acknowledgementState

integer

وضعیت تأیید محصول inapp. مقادیر ممکن عبارتند از: ۰. هنوز تأیید نشده ۱. تأیید شده

purchaseToken

string

توکن خریدی که برای شناسایی این خرید ایجاد شده است. ممکن است موجود نباشد.

productId

string

ممکن است SKU محصول inapp موجود نباشد.

quantity

integer

تعداد مربوط به خرید محصول درون‌برنامه‌ای. در صورت عدم وجود، تعداد ۱ است.

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 مربوط به کاربر در زمان اعطای محصول.

refundableQuantity

integer

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

روش‌ها

acknowledge

خرید یک کالای درون‌برنامه‌ای را تأیید می‌کند.

consume

خرید یک کالای درون‌برنامه‌ای را انجام می‌دهد.

get

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

کدهای خطا

عملیات این منبع، کدهای خطای 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 را برای هرگونه قطعی شناخته شده بررسی کنید.