مرجع نسخه دوم API توسعه‌دهنده

بررسی وضعیت اشتراک

برای بررسی وضعیت خرید اشتراک‌های برنامه خود از این متد استفاده کنید:

https://pardakht.cafebazaar.ir/devapi/v2/api/applications/<package_name>/subscriptions/<subscription_id>/purchases/<purchase_token>/

مقادیر داخل پرانتز شکسته – <> – باید با توجه به درخواست جایگزین شوند:

نام مقدار
package_name نام بسته‌ای که اشتراک برای آن تعریف شده‌است.
subscription_id SKU اشتراک.
purchase_token token اشتراک که در هنگام آغاز اشتراک از بازار به برنامه فرستاده شده‌است. شما همچنین می‌توانید از token یکی از شارژهای بعدی اشتراک استفاده کنید.

توجه کنید که برای استفاده از این متد به access_token معتبر نیاز دارید.

نتیجه موفق این درخواست، در قالب JSON و به شکل زیر خواهد بود:

{
        "kind": "androidpublisher#subscriptionPurchase",
        "initiationTimestampMsec": 1414181378566,
        "validUntilTimestampMsec": 1435912745710,
        "autoRenewing": true,
}

محتوای فیلدهای پاسخ به این قرار است:

نام مقدار
kind نوع منبع مورد دسترسی. مقدار آن در این متد همیشه برابر androidpublisher#subscriptionPurchase است.
initiationTimestampMsec زمان شروع اشتراک بر حسب میلی‌ثانیه از مبدا ۱۹۷۰/۱/۱ میلادی.
validUntilTimestampMsec زمان شارژ بعدی اشتراک بر حسب میلی‌ثانیه از مبدا ۱۹۷۰/۱/۱ میلادی. برای اشتراک‌هایی به صورت خودکار شارژ نمی‌شوند، این مقدار زمان پایان اشتراک را نشان می‌دهد.
autoRenewing مقداری boolean که مشخص می‌کند اشتراک به صورت خودکار شارژ خواهد شد یا نه.

در صورتی که به هر دلیل، درخواست معتبر نباشد، پاسخی با کد وضعیت 40X و در قالب JSON دریافت خواهید کرد که دارای یک کلید error با محتوای خطای ایجاد شده‌ و کلید error_desciption با شرحی بیشتر درباره خطا است. به عنوان مثال در صورتی که اشتراک موردنظر یافت نشود، پاسخ بازگشتی با کد وضعیت 404 و به صورت زیر خواهد بود:

{
   "error": "not_found",
   "error_description": "The requested subscription is not found!",
}

توجه: تنها اگر error برابر با مقدار not_found باشد، اشتراک موردنظر انجام نشده‌است. از آن‌جایی که API خریدهای منقضی شده را نیز برمی‌گرداند، نتیجه موفق درخواست لزوما به معنای فعال بودن اشتراک نیست. برای اطمینان از فعال بودن اشتراک مقدار validUntilTimestampMsec را با زمان فعلی مقایسه کنید.