ورود

View Full Version : روش استفاده از API توسعه دهنده بازار نسخه 2



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 رو بگه و اینکه باید برای حل این مشکل چه کار کنم.

ممنون.

BOB
شنبه 05 تیر 1395, 19:43 عصر
سلام

اگر که مقادیر توکن ها را درست ثبت کرده باشید این کد مشکل خاصی ندارد. فقط چند نکته هست:

1. آدرس جدید api به این صورت است:
https://pardakht.cafebazaar.ir/devapi/v2/api/validate/$package/inapp/$product/purchases/$tokenid?access_token=$access_token

2. ماژولهای curl و openssl باید موجود باشند.

hamidreza.geo
یک شنبه 24 بهمن 1395, 00:44 صبح
لطفا آموزش بزاریم کامل توضیح بده نسخه 2 api رو

MFCDeveloper
شنبه 01 مهر 1396, 11:32 صبح
سلام.
می خواستم بدونم چجوری میشه خریدهایی که در بازار انجام میشه رو تایید کرد سمت سرور . تاپیکهای مشابه هم خوندم ولی چیزی دستگیرم نشد.

اینکه بفرماییید فرایند این کار چیه؟
این کارها رو طبق 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 رو بگه و اینکه باید برای حل این مشکل چه کار کنم.

ممنون.

سلام
آقا میشه URL صفحه ای که Client از اونجا ایجاد کردین پست گنید؟