Я пытаюсь внедрить кредиты Facebook в свое приложение, сейчас я хочу продать две вещи, одна - зелье для восстановления здоровья пользователей, а другая - зелье для восстановления силы пользователей.
До сих пор я использовал следующий Javascript для запроса оплаты:
function placeOrder() {
// Assign an internal ID that points to a database record
var order_info = '1potion';
// calling the API ...
var obj = {
method: 'pay',
order_info: order_info,
purchase_type: 'item',
dev_purchase_params: {'oscif': true}
};
FB.ui(obj, callback);
}
var callback = function(data) {
if (data['order_id']) {
return true;
} else {
//handle errors here
return false;
}
};
</script>
Пока все хорошо ... Теперь обсудим файл callback.php ...
Из того, что я прочитал, у меня должно быть что-то типа "выбрать * из магазина, где продукт = 1 пункт" и получить информацию о продукте? Это правильно, потому что, когда я попробовал это, я только что получил сообщение об ошибке «возникла проблема с этой транзакцией, с которой вы не списали средства».
Поэтому я сейчас использую:
if ($item_info == "1potion") {
// Per the credits api documentation, you should pass in an item
// reference and then query your internal DB for the proper
// information. Then set the item information here to be
// returned to facebook then shown to the user for confirmation.
$item['title'] = 'Will Potion';
$item['price'] = 15;
$item['description'] = 'This is a potion which can be used to fully restore your will stat!';
$item['image_url'] = 'http://www.midcitymafia.com/images/potion.jpg';
$item['product_url'] = 'http://www.midcitymafia.com/images/potion.jpg';
Пока все работает нормально, я просто застрял в том, куда я помещаю код для выдачи пользователю продукта, я исследовал, и мне кажется, что мне нужно реализовать код для выпуска продукта под:
if ($status == 'placed') {
$next_state = 'settled';
$data['content']['status'] = $next_state;
}
Но какую переменную я должен использовать, чтобы определить, какой продукт на самом деле купил пользователь ... Чтобы убедиться, что он получает нужный товар.
Заранее спасибо,
Джек.