- منبع: ProductPurchaseV2
- PurchaseStateContext
- خرید ایالت
- TestPurchaseContext
- فُپتایپ
- آیتم خط محصول
- جزئیات پیشنهاد محصول
- جزئیات پیشنهاد اجاره
- مصرف دولتی
- وضعیت تقدیر و تشکر
- روشها
منبع: ProductPurchaseV2
یک منبع ProductPurchaseV2 وضعیت خرید محصول درونبرنامهای کاربر را نشان میدهد.
| نمایش JSON |
|---|
{ "productLineItem": [ { object ( |
| فیلدها | |
|---|---|
productLineItem[] | شامل اطلاعات سطح آیتم برای ProductPurchaseV2 است. |
kind | این نوع، یک شیء ProductPurchaseV2 را در سرویس androidpublisher نشان میدهد. |
purchaseStateContext | اطلاعات مربوط به وضعیت خرید. |
testPurchaseContext | اطلاعات مربوط به خریدهای آزمایشی. این اطلاعات فقط برای خریدهای آزمایشی تنظیم میشود. |
orderId | شناسه سفارش مرتبط با خرید محصول inapp. اگر سفارشی مرتبط با خرید وجود نداشته باشد، ممکن است تنظیم نشود. |
obfuscatedExternalAccountId | یک نسخه مبهم از شناسه که به طور منحصر به فرد با حساب کاربر در برنامه شما مرتبط است. فقط در صورتی ارائه میشود که هنگام خرید با استفاده از https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid مشخص شده باشد. |
obfuscatedExternalProfileId | یک نسخه مبهم از شناسه که به طور منحصر به فرد با پروفایل کاربر در برنامه شما مرتبط است. فقط در صورتی ارائه میشود که هنگام خرید با استفاده از https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid مشخص شده باشد. |
regionCode | کد منطقه صدور صورتحساب ISO 3166-1 alpha-2 مربوط به کاربر در زمان اعطای محصول. |
purchaseCompletionTime | زمانی که خرید موفقیتآمیز بوده است، یعنی زمانی که PurchaseState به PURCHASED تغییر کرده است. این فیلد تا زمانی که پرداخت کامل نشود، نمایش داده نخواهد شد. برای مثال، اگر کاربر یک تراکنش در حال انتظار ( https://developer.android.com/google/play/billing/integrate#pending ) را آغاز کرده باشد، این فیلد تا زمانی که کاربر مراحل مورد نیاز برای تکمیل تراکنش را با موفقیت انجام ندهد، پر نخواهد شد. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
acknowledgementState | فقط خروجی. وضعیت تأیید خرید. |
PurchaseStateContext
زمینه در مورد وضعیت خرید.
| نمایش JSON |
|---|
{
"purchaseState": enum ( |
| فیلدها | |
|---|---|
purchaseState | فقط خروجی. وضعیت خرید. |
خرید ایالت
ایالتهای خرید احتمالی
| انومها | |
|---|---|
PURCHASE_STATE_UNSPECIFIED | وضعیت خرید مشخص نشده است. این مقدار هرگز نباید تنظیم شود. |
PURCHASED | با موفقیت خریداری شد. |
CANCELLED | خرید لغو شد. |
PENDING | خرید در حالت تعلیق است و هنوز تکمیل نشده است. برای اطلاعات بیشتر در مورد مدیریت خریدهای در حال تعلیق، به https://developer.android.com/google/play/billing/integrate#pending مراجعه کنید. |
TestPurchaseContext
متن در مورد خرید آزمایشی.
| نمایش JSON |
|---|
{
"fopType": enum ( |
| فیلدها | |
|---|---|
fopType | نوع fop خرید آزمایشی. |
فُپتایپ
انواع احتمالی فوپ.
| انومها | |
|---|---|
FOP_TYPE_UNSPECIFIED | نوع Fop مشخص نشده است. این مقدار هرگز نباید تنظیم شود. |
TEST | خرید با استفاده از کارت آزمایشی انجام شد. |
آیتم خط محصول
شامل اطلاعات سطح آیتم برای ProductPurchaseV2 است.
| نمایش JSON |
|---|
{
"productId": string,
"productOfferDetails": {
object ( |
| فیلدها | |
|---|---|
productId | شناسه محصول خریداری شده (برای مثال، 'monthly001'). |
productOfferDetails | جزئیات پیشنهاد برای این کالا |
جزئیات پیشنهاد محصول
اطلاعات جزئی مربوط به یک کالای خط خرید را ارائه دهید.
| نمایش JSON |
|---|
{ "offerTags": [ string ], "offerId": string, "purchaseOptionId": string, "rentOfferDetails": { object ( |
| فیلدها | |
|---|---|
offerTags[] | آخرین برچسبهای پیشنهاد مرتبط با پیشنهاد. این شامل برچسبهایی است که از گزینه خرید به ارث رسیدهاند. |
offerId | شناسه پیشنهاد. فقط برای پیشنهادها ارائه میشود. |
purchaseOptionId | شناسه گزینه خرید. |
rentOfferDetails | جزئیات پیشنهاد اجاره. این مورد فقط برای اقلام ردیف اجاره تنظیم میشود. |
offerToken | توکن پیشنهاد به ازای هر تراکنش که برای ایجاد این ردیف خرید استفاده شده است. |
quantity | مقدار مرتبط با خرید محصول inapp. |
refundableQuantity | مقدار واجد شرایط بازپرداخت، یعنی مقداری که بازپرداخت نشده است. این مقدار، بازپرداختهای جزئی و بازپرداختهای کامل مبتنی بر تعداد را نشان میدهد. |
consumptionState | فقط خروجی. وضعیت مصرف خرید. |
جزئیات پیشنهاد اجاره
این نوع هیچ فیلدی ندارد.
اطلاعات جزئی مربوط به یک کالای اجارهای را ارائه دهید.
مصرف دولتی
حالات مصرف احتمالی.
| انومها | |
|---|---|
CONSUMPTION_STATE_UNSPECIFIED | وضعیت مصرف مشخص نشده است. این مقدار هرگز نباید تنظیم شود. |
CONSUMPTION_STATE_YET_TO_BE_CONSUMED | هنوز باید مصرف شود. |
CONSUMPTION_STATE_CONSUMED | قبلاً مصرف شده. |
وضعیت تقدیر و تشکر
وضعیت تایید محصول یکبار مصرف.
| انومها | |
|---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED | وضعیت تأیید نامشخص. |
ACKNOWLEDGEMENT_STATE_PENDING | خرید هنوز تایید نشده است. |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED | خرید تایید میشه. |
روشها | |
|---|---|
| وضعیت خرید و مصرف یک کالای درونبرنامهای را بررسی میکند. |
کدهای خطا
عملیات این منبع، کدهای خطای 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 را برای هرگونه قطعی شناخته شده بررسی کنید. |