mohandesirani
شنبه 09 آبان 1394, 13:25 عصر
سلام.
می خواستم بدونم چجوری میشه خریدهایی که در بازار انجام میشه رو تایید کرد سمت سرور . تاپیکهای مشابه هم خوندم ولی چیزی دستگیرم نشد.
اینکه بفرماییید فرایند این کار چیه؟
این کارها رو طبق help بازار انجام دادم.
client ساختم بعد URI = http://www.example.com/Callback.php رو وارد کردم بعد به آدرس داده شده برای دریافت CODE رفتم و کد رو گرفتم.
بعد یه درخواست به https://pardakht.cafebazaar.ir/devapi/v2/auth/token فرستادم. access و refresh کد رو گرفتم.یه بار دیگه درخواست دادم ارور داد.بنظرم توی تاپیک ها هم بود که تا 41 روز اکسس کد اعتبار داره پس احتمالا نباید این رو هر بار دریافت کرد .درسته؟ اینکه چه زمانی اصلا باید درخواست این 2 تا کد ر داد ؟ هربار که هر یوزر خرید انجام میده در کد php با ید این کار رو انجام بدیم یا نه؟
بعد از اینجا به بعد رو من یه کدی تو انجمن یوزرpoorman فک کنم گذاشته بود کپی کردم توی Callback.php توی سرورم ولیکن کلا کار نکرد.
اینهم کدش بود:
<?php
$package = "ir.Pars.Gerdoo";
$product = "Fullversion";
$tokenid = "NahRvtmGJsf25Y8D";
$refcode = 'ScretUZFBrYL1DNWHugKbFijpqewb0';
$url = 'http://pardakht.cafebazaar.ir/auth/token/';
$data = array('grant_type' => 'refresh_token', 'client_id' => '7Te4HIoEE19kRPxNk1cHvhpJxrPf97XP0NKRGS3k', 'client_secret' => 'NRfEWiePLR54Ae4RHtNk1tAcPqUNuqLaug8RBkPvYJGjQpQXY f9OhCXMIVRa', '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);
?>
بعد وقتی http://www.example.com/Callback.php رو فراخوانی کردم هیچی نشون نمی داد.
البته گفتم شاید باید فقط درخواست رو ارسال کنیم اکسس کد هم که ثابت بود ، ولی بعد پیام داد که invalid credentials .
کسی هست این فرایند کار با این پروتکل oath 2 رو بگه و اینکه باید برای حل این مشکل چه کار کنم.
ممنون.
می خواستم بدونم چجوری میشه خریدهایی که در بازار انجام میشه رو تایید کرد سمت سرور . تاپیکهای مشابه هم خوندم ولی چیزی دستگیرم نشد.
اینکه بفرماییید فرایند این کار چیه؟
این کارها رو طبق help بازار انجام دادم.
client ساختم بعد URI = http://www.example.com/Callback.php رو وارد کردم بعد به آدرس داده شده برای دریافت CODE رفتم و کد رو گرفتم.
بعد یه درخواست به https://pardakht.cafebazaar.ir/devapi/v2/auth/token فرستادم. access و refresh کد رو گرفتم.یه بار دیگه درخواست دادم ارور داد.بنظرم توی تاپیک ها هم بود که تا 41 روز اکسس کد اعتبار داره پس احتمالا نباید این رو هر بار دریافت کرد .درسته؟ اینکه چه زمانی اصلا باید درخواست این 2 تا کد ر داد ؟ هربار که هر یوزر خرید انجام میده در کد php با ید این کار رو انجام بدیم یا نه؟
بعد از اینجا به بعد رو من یه کدی تو انجمن یوزرpoorman فک کنم گذاشته بود کپی کردم توی Callback.php توی سرورم ولیکن کلا کار نکرد.
اینهم کدش بود:
<?php
$package = "ir.Pars.Gerdoo";
$product = "Fullversion";
$tokenid = "NahRvtmGJsf25Y8D";
$refcode = 'ScretUZFBrYL1DNWHugKbFijpqewb0';
$url = 'http://pardakht.cafebazaar.ir/auth/token/';
$data = array('grant_type' => 'refresh_token', 'client_id' => '7Te4HIoEE19kRPxNk1cHvhpJxrPf97XP0NKRGS3k', 'client_secret' => 'NRfEWiePLR54Ae4RHtNk1tAcPqUNuqLaug8RBkPvYJGjQpQXY f9OhCXMIVRa', '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);
?>
بعد وقتی http://www.example.com/Callback.php رو فراخوانی کردم هیچی نشون نمی داد.
البته گفتم شاید باید فقط درخواست رو ارسال کنیم اکسس کد هم که ثابت بود ، ولی بعد پیام داد که invalid credentials .
کسی هست این فرایند کار با این پروتکل oath 2 رو بگه و اینکه باید برای حل این مشکل چه کار کنم.
ممنون.