از دوست عزیزمون mrzzrm تشکر میکنم، برای اینکه وجودش به من انگیزه داد
اول اینکه من اعتقاد دارم اگر کسی تونسته کاری رو بکنه پس منم میتونم
دوم اینکه سطح فرهنگ ایشون انگیزه داد تا برای بقیه راه رو هموار تر کنم و یک توضیح کوچیک بدم
دوستان استفاده از API بازار به هیچ عنوان سخت نیست، شاید یکم پیچیدگی داشته باشه ولی سخت نیست
من اطلاعاتم از وب و PHP به شدت کمه و اکثر اطلاعاتم رو از آموزش خوب دوست عزیزمون harani گرفتم ( لینک آموزش )
برای اینکه از API بازار بتونید استفاده کنید نیاز به دانش حداقلی از سرور و PHP و متدهای GET و POST و همچنین JSON توی وب سرویس دارید
توی اندروید هم که AsyncTask رو بدونین و نحوه ارتباط با وب سرویس
همین آموزش رو بخونید این اطلاعات رو به دست میارید ( البته باید یکمم سرچ و جستجو بکنید )
به شخصه کار من با یک هاست رایگان و یک فایل php که کلا فکر کنم 20 خط داره درست شد
مستندات بازار خیلی گنگ و خلاصه توضیح داده اما میشه پیاده سازیش کرد
مستندات بازار رو تا جایی که refresh_code بگیرید به صورت دستی ادامه بدید، از اینجا به بعدش رو با سرور گزارش بگیرید
( لینک مستندات )
متاسفانه چون اطلاعاتم از وب کمه نمیتونم خوب توضیح بدم یا آموزش کامل و جامعی برای همه بذارم، اما این کد 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);
?>
به این فایل سه تا پارامتر باید بفرستید، یکی اسم پکیج، یکی آیدی محصول و دیگری توکنی که بعد از خرید به برنامه داده میشه همون purchase.getOrderId
داخل فایل باید refresh code رو که از بازار به صورت دستی گرفتید بذارید
آیدی کلاینت و رمزش رو هم وارد کنید
در جواب به شما یک رشته JSON داده میشه، اگر خالی بود یعنی پرداخت درست نیست، اگر که شامل استاتوس و سایر مشخصات خرید بود یعنی درسته
پاسخ درست به شکل زیره
{"consumptionState": 1, "purchaseState": 0, "kind": "androidpublisher#inappPurchase", "developerPayload": "hojjat", "purchaseTime": 1424267267085}
پاسخ غلط هم فقط {} فرستاده میشه
در صورتی که access code اشتباه باشه هم ارور 404 میگیرید
دوستمون به جای اینکه بیان از سرور استفاده کنن، دقیقا همین کد PHP رو توی اندروید نوشتن
ولی خب امنیتش زیاد تضمینی نیست، چون شما باید همه اطلاعات رو قرار بدید توی برنامه
دوست داشتم میتونستم کاملتر توضیح بدم، اما دانشم در این حد نیست متاسفانه