Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Отклоняем запросы с IP-адресов, которые не принадлежат Payeer
- if (!in_array($_SERVER['REMOTE_ADDR'], array('185.71.65.92', '185.71.65.189','149.202.17.210'))) return;
- if (isset($_POST['m_operation_id']) && isset($_POST['m_sign'])) {
- $m_key = '123';
- // Формируем массив для генерации подписи
- $arHash = array($_POST['m_operation_id'],$_POST['m_operation_ps'],$_POST['m_operation_date'],$_POST['m_operation_pay_date'],$_POST['m_shop'],$_POST['m_orderid'],$_POST['m_amount'],$_POST['m_curr'],$_POST['m_desc'],$_POST['m_status']);
- // Если были переданы дополнительные параметры, то добавляем их в массив
- if (isset($_POST['m_params']))
- {
- $arHash[] = $_POST['m_params'];
- }
- // Добавляем в массив секретный ключ
- $arHash[] = $m_key;
- // Формируем подпись
- $sign_hash = strtoupper(hash('sha256', implode(':', $arHash)));
- // Если подписи совпадают и статус платежа “Выполнен”
- if ($_POST['m_sign'] == $sign_hash && $_POST['m_status'] == 'success')
- {
- $host = 'localhost';
- $user = 'intzet_test';
- $password = '12345';
- $db = 'intzet_test';
- $charset = 'utf8';
- $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
- $pdo = new PDO ($dsn,$user,$password);
- $sql = 'INSERT INTO `items` (`count`) VALUES (:count);';
- $query = $pdo -> prepare($sql);
- $query -> execute(['count' => 1]);
- // Возвращаем, что платеж был успешно обработан
- exit($_POST['m_orderid'].'|success');
- }
- // В противном случае возвращаем ошибку
- exit($_POST['m_orderid'].'|error');}
Add Comment
Please, Sign In to add comment