- منبع: SubscriptionPurchaseV2
- وضعیت اشتراک
- PausedStateContext
- لغو شدهStateContext
- لغو به درخواست کاربر
- لغونتیجه نظرسنجی
- لغونظرسنجیدلیل
- لغو آغاز شده توسط سیستم
- لغو درخواست توسعهدهنده
- لغو جایگزینی
- خرید آزمایشی
- وضعیت تقدیر و تشکر
- شناسههای حساب خارجی
- با اطلاعات گوگل مشترک شوید
- اشتراکخرید کالا
- طرح تمدید خودکار
- اشتراکقیمتتغییر جزئیات
- حالت تغییر قیمت
- وضعیت تغییر قیمت
- طرح اقساطی
- لغو در انتظار
- جزئیات افزایش قیمت
- رضایتنامه
- طرح پیشپرداخت
- جزئیات پیشنهاد
- جایگزینی مورد معوق
- حذف مورد معوق
- ثبت نامتبلیغات
- وانتایمکد
- ونیتیکد
- جایگزینی مورد
- حالت جایگزینی
- OutOfAppPurchaseContext
- روشها
منبع: SubscriptionPurchaseV2
وضعیت خرید اشتراک کاربر را نشان میدهد.
| نمایش JSON |
|---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
| فیلدها | |
|---|---|
kind | این نوع، یک شیء SubscriptionPurchaseV2 را در سرویس androidpublisher نشان میدهد. |
regionCode | کد کشور/منطقهی صدور صورتحساب ISO 3166-1 alpha-2 مربوط به کاربر در زمان اعطای اشتراک. |
lineItems[] | اطلاعات مربوط به سطح کالا برای خرید اشتراکی. اقلام موجود در یک خرید باید یا همگی دارای طرح تمدید خودکار (AutoRenewingPlan) باشند یا همگی دارای طرح پیشپرداخت (PrepaidPlan). |
startTime | زمانی که اشتراک اعطا شده است. برای اشتراکهای در انتظار تنظیم نشده است (اشتراک ایجاد شده اما در انتظار پرداخت در طول ثبت نام است). از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
subscriptionState | وضعیت فعلی اشتراک. |
latestOrderId | منسوخ شده: به جای آن از lineItems.latest_successful_order_id استفاده کنید. شناسه سفارش آخرین سفارش مرتبط با خرید اشتراک. برای اشتراک با تمدید خودکار، این شناسه سفارش ثبت نام در صورتی است که هنوز تمدید نشده باشد، یا آخرین شناسه سفارش تکرارشونده (سفارش موفق، در انتظار یا رد شده) است. برای اشتراک پیشپرداخت، این شناسه سفارش مرتبط با توکن خرید درخواست شده است. |
linkedPurchaseToken | توکن خرید اشتراک قدیمی، در صورتی که این اشتراک یکی از موارد زیر باشد: * ثبت نام مجدد اشتراک لغو شده اما منقضی نشده * ارتقا/تنزل از اشتراک قبلی. * تبدیل از اشتراک پیشپرداخت به اشتراک با قابلیت تمدید خودکار. * تبدیل از اشتراک با قابلیت تمدید خودکار به پیشپرداخت. * شارژ اشتراک پیشپرداخت. |
pausedStateContext | زمینه اضافی در مورد اشتراکهای متوقفشده. فقط در صورتی ارائه میشود که اشتراک در حال حاضر دارای subscriptionState SUBSCRIPTION_STATE_PAUSED باشد. |
canceledStateContext | زمینههای اضافی در مورد اشتراکهای لغو شده. فقط در صورتی ارائه میشود که اشتراک در حال حاضر دارای subscriptionState SUBSCRIPTION_STATE_CANCELED یا SUBSCRIPTION_STATE_EXPIRED باشد. |
testPurchase | فقط در صورتی ارائه میشود که این خرید اشتراک، یک خرید آزمایشی باشد. |
acknowledgementState | وضعیت تأیید اشتراک. |
externalAccountIdentifiers | شناسه حساب کاربری در سرویس شخص ثالث. |
subscribeWithGoogleInfo | نمایه کاربر مرتبط با خریدهای انجام شده با «اشتراک با گوگل». |
outOfAppPurchaseContext | زمینه اضافی برای خریدهای خارج از برنامه. این اطلاعات فقط برای خریدهای اشتراک مجدد (خریدهای اشتراکی که پس از انقضای اشتراک قبلی همان محصول انجام میشوند) که از طریق مرکز اشتراکهای Google Play انجام میشوند، موجود است. این فیلد پس از تأیید اشتراک توسط شما حذف خواهد شد. |
وضعیت اشتراک
حالتهای بالقوهای که یک اشتراک میتواند داشته باشد، مثلاً اینکه آیا فعال است یا لغو شده است. موارد موجود در خرید اشتراک میتوانند همگی طرحهای تمدید خودکار یا طرحهای پیشپرداخت باشند.
| انومها | |
|---|---|
SUBSCRIPTION_STATE_UNSPECIFIED | وضعیت اشتراک نامشخص. |
SUBSCRIPTION_STATE_PENDING | اشتراک ایجاد شده است اما در انتظار پرداخت در هنگام ثبت نام است. در این حالت، همه اقلام در انتظار پرداخت هستند. |
SUBSCRIPTION_STATE_ACTIVE | اشتراک فعال است. - (1) اگر اشتراک از نوع طرح تمدید خودکار باشد، حداقل یک مورد به صورت خودکار تمدید شده و منقضی نشده باشد. - (2) اگر اشتراک از نوع طرح پیشپرداخت باشد، حداقل یک مورد منقضی نشده باشد. |
SUBSCRIPTION_STATE_PAUSED | اشتراک متوقف شده است. این وضعیت فقط زمانی در دسترس است که اشتراک، طرح تمدید خودکار باشد. در این حالت، همه موارد در حالت متوقف شده هستند. |
SUBSCRIPTION_STATE_IN_GRACE_PERIOD | اشتراک در دوره مهلت استفاده است. این وضعیت فقط زمانی در دسترس است که اشتراک از نوع تمدید خودکار باشد. در این حالت، همه اقلام در دوره مهلت استفاده هستند. |
SUBSCRIPTION_STATE_ON_HOLD | اشتراک در حالت تعلیق (Supended) است. این وضعیت فقط زمانی در دسترس است که اشتراک از نوع تمدید خودکار باشد. در این حالت، همه موارد در حالت تعلیق هستند. |
SUBSCRIPTION_STATE_CANCELED | اشتراک لغو شده اما هنوز منقضی نشده است. این وضعیت فقط زمانی در دسترس است که اشتراک از نوع تمدید خودکار باشد. گزینه autoRenewEnabled برای همه موارد روی false تنظیم شده است. |
SUBSCRIPTION_STATE_EXPIRED | اشتراک منقضی شده است. تاریخ انقضای همه اقلام گذشته است. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED | تراکنش در انتظار اشتراک لغو شده است. اگر این خرید در انتظار برای یک اشتراک موجود بوده است، از linkedPurchaseToken برای دریافت وضعیت فعلی آن اشتراک استفاده کنید. |
PausedStateContext
اطلاعات مربوط به اشتراکی که در حالت مکث قرار دارد.
| نمایش JSON |
|---|
{ "autoResumeTime": string } |
| فیلدها | |
|---|---|
autoResumeTime | زمانی که اشتراک به طور خودکار از سر گرفته میشود. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
لغو شدهStateContext
اطلاعات مربوط به اشتراکی که در وضعیت SUBSCRIPTION_STATE_CANCELED یا SUBSCRIPTION_STATE_EXPIRED قرار دارد.
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
فیلد union cancellation_reason . دلیل لغو اشتراک. cancellation_reason فقط میتواند یکی از موارد زیر باشد: | |
userInitiatedCancellation | اشتراک توسط کاربر لغو شد. |
systemInitiatedCancellation | اشتراک توسط سیستم لغو شده است، برای مثال به دلیل مشکل در صورتحساب. |
developerInitiatedCancellation | اشتراک توسط توسعهدهنده لغو شد. |
replacementCancellation | اشتراک با اشتراک جدید جایگزین شد. |
لغو به درخواست کاربر
اطلاعات مربوط به لغوهای انجام شده توسط کاربران.
| نمایش JSON |
|---|
{
"cancelSurveyResult": {
object ( |
| فیلدها | |
|---|---|
cancelSurveyResult | اطلاعاتی که کاربر هنگام تکمیل فرآیند لغو اشتراک (نظرسنجی دلیل لغو) ارائه میدهد. |
cancelTime | زمانی که اشتراک توسط کاربر لغو شده است. کاربر ممکن است پس از این مدت همچنان به اشتراک دسترسی داشته باشد. از lineItems.expiry_time برای تعیین اینکه آیا کاربر هنوز دسترسی دارد یا خیر، استفاده کنید. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
لغونتیجه نظرسنجی
نتیجه نظرسنجی لغو اشتراک، زمانی که کاربر اشتراک را لغو کرده است.
| نمایش JSON |
|---|
{
"reason": enum ( |
| فیلدها | |
|---|---|
reason | دلیل انتخاب کاربر در لغو نظرسنجی. |
reasonUserInput | فقط برای CANCEL_SURVEY_REASON_OTHERS تنظیم شده است. این پاسخ آزاد کاربر به نظرسنجی است. |
لغونظرسنجیدلیل
دلیل انتخاب کاربر در لغو نظرسنجی.
| انومها | |
|---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED | دلیل لغو نظرسنجی نامشخص است. |
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE | استفاده کافی از اشتراک انجام نشده است. |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES | مشکلات فنی هنگام استفاده از برنامه. |
CANCEL_SURVEY_REASON_COST_RELATED | مسائل مربوط به هزینه. |
CANCEL_SURVEY_REASON_FOUND_BETTER_APP | کاربر برنامه بهتری پیدا کرد. |
CANCEL_SURVEY_REASON_OTHERS | دلایل دیگر. |
لغو آغاز شده توسط سیستم
این نوع هیچ فیلدی ندارد.
اطلاعات مربوط به لغوهای آغاز شده توسط سیستم گوگل.
لغو درخواست توسعهدهنده
این نوع هیچ فیلدی ندارد.
اطلاعات مربوط به لغوهایی که توسط توسعهدهندگان آغاز شده است.
لغو جایگزینی
این نوع هیچ فیلدی ندارد.
اطلاعات مربوط به لغو اشتراک ناشی از جایگزینی اشتراک.
خرید آزمایشی
این نوع هیچ فیلدی ندارد.
اینکه آیا این خرید اشتراک، یک خرید آزمایشی است یا خیر.
وضعیت تقدیر و تشکر
تأییدیه احتمالی برای اشتراک بیان شده است.
| انومها | |
|---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED | وضعیت تأیید نامشخص. |
ACKNOWLEDGEMENT_STATE_PENDING | اشتراک هنوز تأیید نشده است. |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED | اشتراک پذیرفته میشود. |
شناسههای حساب خارجی
شناسه حساب کاربری در سرویس شخص ثالث.
| نمایش JSON |
|---|
{ "externalAccountId": string, "obfuscatedExternalAccountId": string, "obfuscatedExternalProfileId": string } |
| فیلدها | |
|---|---|
externalAccountId | شناسه حساب کاربری در سرویس شخص ثالث. فقط در صورتی ارائه میشود که اتصال حساب به عنوان بخشی از جریان خرید اشتراک انجام شده باشد. |
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 مشخص شده باشد. |
با اطلاعات گوگل مشترک شوید
اطلاعات مرتبط با خریدهای انجام شده با «اشتراک با گوگل».
| نمایش JSON |
|---|
{ "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } |
| فیلدها | |
|---|---|
profileId | شناسه نمایه گوگل کاربر هنگام خرید اشتراک. |
profileName | نام پروفایل کاربر هنگام خرید اشتراک. |
emailAddress | آدرس ایمیل کاربر هنگام خرید اشتراک. |
givenName | نام کاربری که هنگام خرید اشتراک وارد شده است. |
familyName | نام خانوادگی کاربر هنگام خرید اشتراک. |
اشتراکخرید کالا
اطلاعات مربوط به سطح کالا برای خرید اشتراک.
| نمایش JSON |
|---|
{ "productId": string, "expiryTime": string, "latestSuccessfulOrderId": string, // Union field |
| فیلدها | |
|---|---|
productId | شناسه محصول خریداری شده (برای مثال، 'monthly001'). |
expiryTime | زمانی که اشتراک منقضی شده یا در صورت تمدید دسترسی (مثلاً تمدید) منقضی خواهد شد. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
latestSuccessfulOrderId | شناسه سفارش آخرین سفارش موفق مرتبط با این کالا. اگر کالا هنوز متعلق به کاربر نباشد (مثلاً کالایی که جایگزینی آن به تعویق افتاده است) این شناسه نمایش داده نمیشود. |
فیلد plan_type از نوع Union. نوع طرح اشتراک plan_type فقط میتواند یکی از موارد زیر باشد: | |
autoRenewingPlan | کالا به صورت خودکار تمدید میشود. |
prepaidPlan | کالا پیش پرداخت شده است. |
offerDetails | جزئیات پیشنهاد برای این کالا |
فیلد مشترک deferred_item_change . این فیلد زمانی وجود دارد که یک آیتم تغییر معوق داشته باشد. میتواند حذف یا جایگزین شود. deferred_item_change فقط میتواند یکی از موارد زیر باشد: | |
deferredItemReplacement | اطلاعات مربوط به جایگزینی اقلام معوق. |
deferredItemRemoval | اطلاعات مربوط به حذف اقلام معوق. |
signupPromotion | جزئیات تخفیف برای این کالا. فقط در صورتی تنظیم میشود که تخفیف هنگام ثبت نام اعمال شده باشد. |
itemReplacement | جزئیات کالای جایگزین شده. این فیلد فقط در صورتی پر میشود که این کالا جایگزین کالای دیگری در اشتراک قبلی شده باشد و فقط به مدت ۶۰ روز پس از زمان خرید در دسترس است. |
طرح تمدید خودکار
اطلاعات مربوط به طرح تمدید خودکار.
| نمایش JSON |
|---|
{ "autoRenewEnabled": boolean, "recurringPrice": { object ( |
| فیلدها | |
|---|---|
autoRenewEnabled | اگر اشتراک در حال حاضر روی تمدید خودکار تنظیم شده باشد، مثلاً کاربر اشتراک را لغو نکرده باشد |
recurringPrice | قیمت فعلی طرح تمدید خودکار. توجه داشته باشید که این قیمت شامل تخفیفها نمیشود و مالیات برای قیمتگذاری بدون احتساب مالیات را شامل نمیشود. لطفاً در صورت نیاز به جزئیات تراکنش |
priceChangeDetails | اطلاعات آخرین تغییر قیمت کالا از زمان ثبت نام اشتراک. |
installmentDetails | تعهد طرح اقساطی و اطلاعات مربوط به ایالت برای طرح تمدید خودرو. |
priceStepUpConsentDetails | اطلاعات مربوط به آخرین رضایتنامه افزایش قیمت. |
اشتراکقیمتتغییر جزئیات
اطلاعات مربوط به تغییر قیمت یک کالای اشتراکی.
| نمایش JSON |
|---|
{ "newPrice": { object ( |
| فیلدها | |
|---|---|
newPrice | قیمت جدید و دورهای برای کالای اشتراکی. |
priceChangeMode | حالت تغییر قیمت، نحوه تغییر قیمت کالای اشتراکی را مشخص میکند. |
priceChangeState | اعلام کنید که تغییر قیمت در حال حاضر اعمال میشود. |
expectedNewPriceChargeTime | زمان تمدید که در آن تغییر قیمت برای کاربر اعمال میشود. این زمان ممکن است به دلیل مواردی که زمان تمدید مانند مکث تغییر میکند، تغییر کند (به زمان آینده). این فیلد فقط در صورتی پر میشود که تغییر قیمت اعمال نشده باشد. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
حالت تغییر قیمت
نحوه تغییر قیمت.
| انومها | |
|---|---|
PRICE_CHANGE_MODE_UNSPECIFIED | حالت تغییر قیمت مشخص نشده است. این مقدار هرگز نباید تنظیم شود. |
PRICE_DECREASE | اگر قیمت اشتراک در حال کاهش باشد. |
PRICE_INCREASE | اگر قیمت اشتراک در حال افزایش است و کاربر باید آن را بپذیرد. |
OPT_OUT_PRICE_INCREASE | اگر قیمت اشتراک با حالت انصراف افزایش مییابد. |
وضعیت تغییر قیمت
وضعیت تغییر قیمت.
| انومها | |
|---|---|
PRICE_CHANGE_STATE_UNSPECIFIED | وضعیت تغییر قیمت مشخص نشده است. این مقدار نباید استفاده شود. |
OUTSTANDING | منتظر موافقت کاربر با تغییر قیمت هستم. |
CONFIRMED | تأیید شده است که تغییر قیمت برای کاربر اتفاق میافتد. |
APPLIED | تغییر قیمت اعمال شده است، یعنی کاربر شروع به دریافت هزینه جدید کرده است. |
CANCELED | تغییر قیمت لغو شد. |
طرح اقساطی
اطلاعات مربوط به طرح اقساطی.
| نمایش JSON |
|---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
| فیلدها | |
|---|---|
initialCommittedPaymentsCount | تعداد کل پرداختهایی که کاربر در ابتدا برای آنها متعهد شده است. |
subsequentCommittedPaymentsCount | تعداد کل پرداختهایی که کاربر پس از هر دوره تعهد، متعهد به انجام آنها خواهد بود. خالی بودن به این معنی است که طرح اقساطی پس از تعهد اولیه، به حالت عادی با تمدید خودکار برمیگردد. |
remainingCommittedPaymentsCount | تعداد کل پرداختهای تعهد شده باقی مانده که باید در این چرخه تمدید پرداخت شوند. |
pendingCancellation | در صورت وجود، این طرح اقساطی در انتظار لغو است. لغو تنها پس از اتمام تمام پرداختهای انجام شده توسط کاربر انجام خواهد شد. |
لغو در انتظار
این نوع هیچ فیلدی ندارد.
این نشان میدهد که آیا امکان لغو در طرح اقساطی مجازی وجود دارد یا خیر. لغو تنها پس از اتمام تمام پرداختهای انجام شده توسط کاربر انجام خواهد شد.
جزئیات افزایش قیمت
اطلاعات مربوط به افزایش قیمت که نیاز به رضایت کاربر دارد.
| نمایش JSON |
|---|
{ "state": enum ( |
| فیلدها | |
|---|---|
state | فقط خروجی. وضعیت موافقت با افزایش قیمت. |
consentDeadlineTime | مهلتی که کاربر باید تا آن زمان رضایت خود را اعلام کند. در صورت عدم اعلام رضایت تا این زمان، اشتراک لغو خواهد شد. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
newPrice | قیمت جدیدی که نیاز به رضایت کاربر دارد. |
رضایتنامه
وضعیت موافقت با افزایش قیمت.
| انومها | |
|---|---|
CONSENT_STATE_UNSPECIFIED | وضعیت رضایت نامشخص. |
PENDING | کاربر هنوز رضایت خود را اعلام نکرده است. |
CONFIRMED | کاربر موافقت کرده است و قیمت جدید در انتظار اعمال شدن است. |
COMPLETED | کاربر موافقت کرده و قیمت جدید اعمال شده است. |
طرح پیشپرداخت
اطلاعات مربوط به طرح پیشپرداخت.
| نمایش JSON |
|---|
{ "allowExtendAfterTime": string } |
| فیلدها | |
|---|---|
allowExtendAfterTime | در صورت وجود، این مدت زمانی است که پس از آن خرید شارژ برای طرح پیشپرداخت مجاز است. برای طرحهای پیشپرداخت منقضی شده، این مدت وجود نخواهد داشت. از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: |
جزئیات پیشنهاد
اطلاعات جزئی مربوط به یک کالای خط خرید را ارائه دهید.
| نمایش JSON |
|---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
| فیلدها | |
|---|---|
offerTags[] | آخرین برچسبهای پیشنهاد مرتبط با پیشنهاد. این شامل برچسبهایی است که از طرح پایه به ارث رسیدهاند. |
basePlanId | شناسه طرح پایه. برای همه طرحهای پایه و پیشنهادات ارائه میشود. |
offerId | شناسه پیشنهاد. فقط برای پیشنهادهای تخفیفدار ارائه میشود. |
جایگزینی مورد معوق
اطلاعات مربوط به جایگزینی اقلام معوق.
| نمایش JSON |
|---|
{ "productId": string } |
| فیلدها | |
|---|---|
productId | شناسه محصول (productId) جایگزین شناسه محصول موجود خواهد شد. |
حذف مورد معوق
این نوع هیچ فیلدی ندارد.
اطلاعات مربوط به جایگزینی اقلام معوق.
ثبت نامتبلیغات
این پیشنهاد ویژه هنگام خرید برای این کالا اعمال شده است.
| نمایش JSON |
|---|
{ // Union field |
| فیلدها | |
|---|---|
فیلد union promotion_type . نوع تبلیغی که برای کالا اعمال میشود. promotion_type فقط میتواند یکی از موارد زیر باشد: | |
oneTimeCode | کد یکبار مصرف اعمال شد. |
vanityCode | یک کد غرور اعمال شد. |
وانتایمکد
این نوع هیچ فیلدی ندارد.
یک کد تبلیغاتی یکبار مصرف.
ونیتیکد
یک کد تخفیف از پیش تعریفشده و چندمنظوره.
| نمایش JSON |
|---|
{ "promotionCode": string } |
| فیلدها | |
|---|---|
promotionCode | کد تبلیغاتی. |
جایگزینی مورد
جزئیات مربوط به یک مورد خط اشتراک که در حال جایگزینی است.
| نمایش JSON |
|---|
{
"productId": string,
"replacementMode": enum ( |
| فیلدها | |
|---|---|
productId | شناسه محصولِ موردِ خط اشتراک که جایگزین میشود. |
replacementMode | حالت تعویض اعمال شده در هنگام خرید. |
basePlanId | شناسه طرح پایه ردیف اشتراکی که قرار است جایگزین شود. |
offerId | شناسه پیشنهاد ردیف اشتراکی که جایگزین میشود، در صورت وجود. |
حالت جایگزینی
نحوه جایگزینی برای اشتراک.
| انومها | |
|---|---|
REPLACEMENT_MODE_UNSPECIFIED | حالت جایگزینی نامشخص. |
WITH_TIME_PRORATION | طرح جدید از طرح قدیمی کسر و اعتبار آن محاسبه خواهد شد. |
CHARGE_PRORATED_PRICE | برای طرح جدید، هزینهای متناسب با طرح قبلی از کاربر دریافت خواهد شد. |
WITHOUT_PRORATION | طرح جدید بدون سرشکن کردن زمان، جایگزین طرح قدیمی خواهد شد. |
CHARGE_FULL_PRICE | هزینه کامل طرح جدید از کاربر دریافت خواهد شد. |
DEFERRED | طرح قبلی لغو و طرح جدید پس از انقضای طرح قبلی لازمالاجرا خواهد بود. |
KEEP_EXISTING | با این جایگزینی، طرح بدون تغییر باقی خواهد ماند. |
OutOfAppPurchaseContext
اطلاعات مربوط به خرید خارج از برنامه.
| نمایش JSON |
|---|
{
"expiredExternalAccountIdentifiers": {
object ( |
| فیلدها | |
|---|---|
expiredExternalAccountIdentifiers | شناسه حساب کاربری از آخرین اشتراک منقضی شده برای این SKU. |
expiredPurchaseToken | توکن خرید آخرین اشتراک منقضی شده. این توکن خرید فقط در صورتی باید برای شناسایی کاربر استفاده شود که لینک بین purchaseToken و کاربر در پایگاه داده شما ذخیره شده باشد. اگر بیش از ۶۰ روز از انقضا گذشته باشد، نمیتوان از آن برای فراخوانی API توسعهدهندگان گوگل استفاده کرد. |
روشها | |
|---|---|
| لغو خرید اشتراک برای کاربر. |
| دریافت فراداده درباره یک اشتراک |
| لغو خرید اشتراک برای کاربر. |
کدهای خطا
عملیات این منبع، کدهای خطای HTTP زیر را برمیگرداند:
| کد خطا | دلیل | وضوح تصویر |
|---|---|---|
5xx | خطای عمومی در سرور گوگل پلی. | درخواست خود را دوباره امتحان کنید. اگر مشکل همچنان ادامه داشت، با مدیر حساب Google Play خود تماس بگیرید یا درخواست پشتیبانی ارسال کنید. داشبورد وضعیت Play را برای هرگونه قطعی شناخته شده بررسی کنید. |
409 | خطای بهروزرسانی همزمان. تلاشی برای بهروزرسانی شیء در حال بهروزرسانی صورت گرفته است. برای مثال، یک خرید با فراخوانی متد | درخواست خود را دوباره امتحان کنید. |
410 | خرید اشتراک دیگر برای استعلام در دسترس نیست زیرا مدت زیادی است که منقضی شده است. | هنگام درخواست اشتراکی که بیش از ۶۰ روز از انقضای آن گذشته است، اجرا میشود. دیگر نباید این اشتراکها را درخواست کنید. |