پرش به مطلب اصلی

صحت‌سنجی خرید در مایکت

برای اطمینان از وضعیت خرید و جلوگیری از تقلب، اعتبار خرید را از سرور برنامهٔ خود با سرور مایکت بررسی کنید. این API فقط برای فراخوانی Server to Server است؛ کلید دسترسی را در برنامهٔ کلاینت قرار ندهید.

امنیت

مقدار X-Access-Token محرمانه است. آن را فقط در سرور امن نگه دارید و هرگز در کد کلاینت، برنامهٔ منتشرشده یا مخزن عمومی قرار ندهید.

درخواست​

curl --request POST \
'https://developer.myket.ir/api/partners/applications/{PACKAGE_NAME}/purchases/products/{SKU_ID}/verify' \
--header 'X-Access-Token: {ACCESS_TOKEN}' \
--header 'Content-Type: application/json' \
--data '{
"tokenId": "{TOKEN_ID}"
}'

مقادیر مسیر و بدنهٔ درخواست را با اطلاعات خرید جایگزین کنید:

پارامترتوضیح
PACKAGE_NAMEنام پکیج برنامه، مانند org.example.app
SKU_IDشناسهٔ محصول درون‌برنامه‌ای، مانند GEM2
ACCESS_TOKENتوکن صحت‌سنجی برنامه که از پنل توسعه‌دهندگان دریافت می‌کنید
TOKEN_IDتوکن خریدی که برای خرید موردنظر دریافت کرده‌اید

پاسخ خرید موفق​

{
"kind": "androidpublisher#productPurchase",
"purchaseTime": 1492839267000,
"developerPayload": "",
"purchaseState": 0,
"consumptionState": 1
}
  • purchaseState: وضعیت خرید؛ مقدار 0 نشان‌دهندهٔ خرید موفق و 1 نشان‌دهندهٔ خرید ناموفق است.
  • purchaseTime: زمان انجام تراکنش برحسب Unix timestamp میلی‌ثانیه.
  • kind: نوع خرید.
  • developerPayload: مقداری که هنگام شروع خرید از برنامه ارسال شده است.
  • consumptionState: وضعیت مصرف؛ 0 یعنی مصرف‌نشده و 1 یعنی مصرف‌شده.

پاسخ خطا​

برای نمونه، در صورت بروز خطای سمت سرور ممکن است پاسخی مشابه زیر دریافت کنید:

{
"code": 500,
"messageCode": "InternalError",
"translatedMessage": "خطایی رخ داده است."
}