версия php вконтакте

версия php вконтакте

Сообщение OlegNick 22 авг 2015, 01:04

Всем доброго времени суток.
У меня возник вопрос:
Есть игра вк с донатом, и в качестве обработчика order'сов, работает php скрипт на хостинге. Но недавно компания, у которой снимаем хост, всем аккаунтам изменила версию php на новейшую, и php скрипт перестал работать. Узнал что можно попросить изменить версию на любую, но не знаю какая была или подойдет. Прошу подсказать, на какой версии php работает пример из ВК, потому что исходя из него писал свой обработчик, спасибо!
Пример:
Синтаксис:
Используется php
<?php
header("Content-Type: application/json; encoding=utf-8");

$secret_key = 'hiUl8U4F9q3BcbAl28va'; // Защищенный ключ приложения

$input = $_POST;

// Проверка подписи
$sig = $input['sig'];
unset($input['sig']);
ksort($input);
$str = '';
foreach ($input as $k => $v) {
  $str .= $k.'='.$v;
}

if ($sig != md5($str.$secret_key)) {
  $response['error'] = array(
    'error_code' => 10,
    'error_msg' => 'Несовпадение вычисленной и переданной подписи запроса.',
    'critical' => true
  );
} else {
  // Подпись правильная
  switch ($input['notification_type']) {
    case 'get_item':
      // Получение информации о товаре
      $item = $input['item']; // наименование товара

if ($item == 'item1') {
        $response['response'] = array(
          'item_id' => 25,
          'title' => '300 золотых монет',
          'photo_url' => 'http://somesite/images/coin.jpg',
          'price' => 5
        );
      } elseif ($item == 'item2') {
        $response['response'] = array(
          'item_id' => 27,
          'title' => '500 золотых монет',
          'photo_url' => 'http://somesite/images/coin.jpg',
          'price' => 10
        );
      } else {
        $response['error'] = array(
          'error_code' => 20,
          'error_msg' => 'Товара не существует.',
          'critical' => true
        );
      }
      break;

case 'get_item_test':
      // Получение информации о товаре в тестовом режиме
      $item = $input['item'];
      if ($item == 'item1') {
        $response['response'] = array(
          'item_id' => 125,
          'title' => '300 золотых монет (тестовый режим)',
          'photo_url' => 'http://somesite/images/coin.jpg',
          'price' => 5
        );
      } elseif ($item == 'item2') {
        $response['response'] = array(
          'item_id' => 127,
          'title' => '500 золотых монет (тестовый режим)',
          'photo_url' => 'http://somesite/images/coin.jpg',
          'price' => 10
        );
      } else {
        $response['error'] = array(
          'error_code' => 20,
          'error_msg' => 'Товара не существует.',
          'critical' => true
        );
      }
      break;

case 'order_status_change':
      // Изменение статуса заказа
      if ($input['status'] == 'chargeable') {
        $order_id = intval($input['order_id']);

// Код проверки товара, включая его стоимость
        $app_order_id = 1; // Получающийся у вас идентификатор заказа.

$response['response'] = array(
          'order_id' => $order_id,
          'app_order_id' => $app_order_id,
        );
      } else {
        $response['error'] = array(
          'error_code' => 100,
          'error_msg' => 'Передано непонятно что вместо chargeable.',
          'critical' => true
        );
      }
      break;

case 'order_status_change_test':
      // Изменение статуса заказа в тестовом режиме
      if ($input['status'] == 'chargeable') {
        $order_id = intval($input['order_id']);

$app_order_id = 1; // Тут фактического заказа может не быть - тестовый режим.

$response['response'] = array(
          'order_id' => $order_id,
          'app_order_id' => $app_order_id,
        );
      } else {
        $response['error'] = array(
          'error_code' => 100,
          'error_msg' => 'Передано непонятно что вместо chargeable.',
          'critical' => true
        );
      }
      break;
  }
}

echo json_encode($response);
?>
OlegNick
Старожил
 
Сообщения: 585
Зарегистрирован: 10 ноя 2013, 02:21
Откуда: Россия, Калуга

Re: версия php вконтакте

Сообщение cibersant 22 авг 2015, 07:35

Это должно работать на любой версии.
А вообще в php есть тоже логи ошибок,Вы что не знали?
_https://vk.com/app4031890 - 3d боец
cibersant
Старожил
 
Сообщения: 938
Зарегистрирован: 14 дек 2011, 01:27

Re: версия php вконтакте

Сообщение OlegNick 22 авг 2015, 16:09

Знаю и поэтому задал именно такой вопрос.
Усложнять - просто, упрощать - сложно.
OlegNick
Старожил
 
Сообщения: 585
Зарегистрирован: 10 ноя 2013, 02:21
Откуда: Россия, Калуга

Re: версия php вконтакте

Сообщение OlegNick 23 авг 2015, 17:54

Всё, всем спасибо, всё решилось, оказывается это у них были проблемы.
OlegNick
Старожил
 
Сообщения: 585
Зарегистрирован: 10 ноя 2013, 02:21
Откуда: Россия, Калуга


Вернуться в Социальные сети

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2