صحتسنجی خرید در مایکت
برای اطمینان از وضعیت خرید و جلوگیری از تقلب، اعتبار خرید را از سرور برنامهٔ خود با سرور مایکت بررسی کنید. این API فقط برای فراخوانی Server to Server است؛ کلید دسترسی را در برنامهٔ کلاینت قرار ندهید.
امنیت
مقدار X-Access-Token محرمانه است. آن را فقط در سرور امن نگه دارید و هرگز در کد کلاینت، برنامهٔ منتشرشده یا مخزن عمومی قرار ندهید.
درخواست
- cURL
- Python
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}"
}'
import requests
package_name = "org.example.app"
sku_id = "GEM2"
access_token = "YOUR_ACCESS_TOKEN"
purchase_token = "PURCHASE_TOKEN"
url = (
f"https://developer.myket.ir/api/partners/applications/{package_name}"
f"/purchases/products/{sku_id}/verify"
)
headers = {"X-Access-Token": access_token}
payload = {"tokenId": purchase_token}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code, response.json())
مقادیر مسیر و بدنهٔ درخواست را با اطلاعات خرید جایگزین کنید:
| پارامتر | توضیح |
|---|---|
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": "خطایی رخ داده است."
}