سلام دوستان از اونجایی که خیلی از کاربران با این موضوع مشکل دارن گفتم آموزش استفاده از API بازار رو در اختیارتون قرار بدم.
مراحل به ترتیب:
۱- اول باید یک سایت داشته باشید تا پاسخ بازار به درخواست شما به اونجا ارسال بشه.
۲- یک فایل php ایجاد کنید و داخلش کد های زیر رو قرار بدید(فعلا هیچی ویرایش نکنید و فقط کدها رو توش قرار بدید):
<?php
if(empty($_REQUEST['package']) || empty($_REQUEST['product']) || empty($_REQUEST['tokenid'])){
echo "error";
return;
}
$package = $_REQUEST['package'];
$product = $_REQUEST['product'];
$tokenid = $_REQUEST['tokenid'];
$refcode = 'کدی که از بازار گرفتین - رفرش کد';
$url = 'http://pardakht.cafebazaar.ir/auth/token/';
$data = array('grant_type' => 'refresh_token', 'client_id' => 'آیدی کلاینت', 'client_secret' => 'رمز کلاینت', 'refresh_token' => $refcode);
# Create a connection
$ch = curl_init($url);
# Form data string
$postString = http_build_query($data, '', '&');
# Setting our options
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
# Get the response
$response = curl_exec($ch);
$jsonResponse = json_decode($response, true);
$access_token = $jsonResponse['access_token'];
$result = file_get_contents("https://pardakht.cafebazaar.ir/api/validate/$package/inapp/$product/purchases/$tokenid/?access_token=$access_token");
echo $result;
curl_close($ch);
?>
۵- حالا اونو با انکود UTF-8 سیو کنید.
۶- فایل رو آپلود کنید (سایت خودتون).
۷- حالا فایل رو با ویرایشگر هاستتون باز کنید.
۸- حالا به بازار برید و یک کلاینت ایجاد کنید در قسمت "Redirect URI" هم آدرس فایل php که در سایتتون آپلود کردن رو قرار بدید بعد از ایجاد کلاینت بازار:
"CLIENT ID"
"CLIENT SECRET"
"REDIRECT URIS"
رو بهتون میده.
۱۰ - آدرس زیر رو در مروگرتون باز کنید به جای <REDIRECT_URI> هم REDIRECT URIS مرحله قبل و به جای <CLIENT_ID> هم CLIENT ID مرحله قبلی رو قرار بدید.
https://pardakht.cafebazaar.ir/auth/authorize/?response_type=code&access_type=offline&redirect_u ri=<REDIRECT_URI>&client_id=<CLIENT_ID>
۱۱- یک صفحه باز میشه که توش نوشته مجوز دسترسی. روی تایید کیک کنید بعد به آدرست فایل php که قبلا آپلود کردیم فراخوانی می شیم که یه error توشته شده... کاری بهش نداریم... توی آدرس بار مروگرتون اگه توجه کنید به غیر آدرس فایل php یه کد هم همراهش هست مثل این:
کد HTML:
http://website.domin/test_api.php?code=RPL1TgBTlBs6kJad3hyDYebtkd521inRCQR
در آدرس بالا اینو داریم:
code=RPL1TgBTlBs6kJad3hyDYebtkd521inRCQR
ما هم به:
RPL1TgBTlBs6kJad3hyDYebtkd521inRCQR
برای مرحله بعد نیاز داریم البته کدی که شما دریافت می کنید با کد بالا فرق داره.
۱۲- حالا به این آدرس برید:
کد HTML:
https://pardakht.cafebazaar.ir/auth/token/
در قسمت grant_type عبارت ریز رو بنویسید:
authorization_code
در قسمت code کدی که مرحله قبلی دریافت کردید رو قرار بدید.
در قسمت client_id هم CLIENT ID مرحله ۸ رو قرار بدید.
درقسمت client_secret هم CLIENT SECRET مرحله ۸ رو قرار بدید.
در قسمت redirect_uri هم REDIRECT URIS مرحله ۸ رو قرار بدید.
بعد روی Authorize کلیک کنید.
۱۳- حالا پاسخ به صورت زیر خواهد بود:
{
"access_token": "GWObRK06KHLr8pCQzDXJ9hcDdSC3eV",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "yBC4br1l6OCNWnahJvreOchIZ9B6ze",
"scope": "androidpublisher"
}
۱۴- حالا برمیگردیم به فایل php! حالا همه چی واضح شد! و بر اساس پاسخ مرحله قبلی فایل php رو کامل و سیو کنید.
۱۵- تموم شد! کافیه توی مروگرتون آدرس زیر رو باز کنید به جای <package_name> نام پکیج برنامتون و به جای <product_id> نام محصول و به جای <access_token> یک توکن که در لیست فروش هست قرار بدید به جای:
http://website.domin/test_api.php
آدرس فایل php رو قرار بدید.
کد HTML:
http://website.domin/test_api.php?package=<package_name>&product=<product_id>&tokenid=<access_token>
پاسخ درست به صورت زیر:
{
"consumptionState": 1,
"purchaseState": 0,
"kind": "androidpublisher#inappPurchase",
"developerPayload": "something",
"purchaseTime": 1414181378566
}
و پاسخ اشتباه به صورت زیر(اگر برنامه خریداری نشده):
"{}"
امیدوارم کامل و ساده توضیح داده باشم ولی خودم یه مشکل دارم! اونم اینه که برنامه چطور بفهمه که خرید درست بوده چون نمیدونه کاربر هنگام خرید چه توکنی براش ساخته شده؟!
مرحله ۱۵ ویرایش شد دوستان از اشتباهم عذر میخوام...