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

بررسی وضعیت خرید درون‌برنامه‌ای

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

https://pardakht.cafebazaar.ir/devapi/v2/api/validate/<package_name>/inapp/<product_id>/purchases/<purchase_token>/

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

نام مقدار
package_name نام بسته‌ای که محصول از آن خریداری شده‌است.
product_id SKU محصول خریداری شده.
purchase_token token خرید که پس از خرید از بازار به برنامه فرستاده شده‌است.

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

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

{
   "consumptionState": 1,
   "purchaseState": 0,
   "kind": "androidpublisher#inappPurchase",
   "developerPayload": "something",
   "purchaseTime": 1414181378566
}

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

نام مقدار
consumptionState وضعیت مصرف محصول. در صورتی که محصول مصرف شده باشد، مقدار آن برابر با ۰ و در غیر این‌صورت برابر ۱ خواهد بود.
purchaseState وضعیت خرید محصول. در حالت عادی مقدار آن برابر ۰ است، در صورت بازگشت خرید (Refund) مقدار آن ۱ خواهد بود.
kind نوع منبع مورد دسترسی. مقدار آن در این متد همیشه برابر androidpublisher#inappPurchase است.
developerPayload payload ارسال شده توسط برنامه فروشنده در هنگام خرید.
purchaseTime زمان خرید بر حسب میلی‌ثانیه از مبدا ۱۹۷۰/۱/۱ میلادی.

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

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

توجه: تنها اگر error برابر با مقدار not_found باشد، خرید موردنظر انجام نشده‌ است. این مورد می‌تواند بر اثر تلاش کاربر برای جعل خرید باشد.