Файл: payment/pay/yandexmoney.php
Строк: 12
<?
require ($_SERVER['DOCUMENT_ROOT'].'/core/sys.php');
$secret_key = 'u/WoUi6lZ+bd4xlKnxe7e+5A'; // секретное слово, которое мы получили в в настройках http-уведомлений на сайте Яндекс Денег.
// Параметры, которые Вам пригодятся
// $_POST['operation_id'] - номер операции (огромное число, в БД советую создать поле varchar 255)
// $_POST['amount'] - количество денег, которые поступят на счет получателя
// $_POST['withdraw_amount'] - количество денег, которые будут списаны со счета покупателя
// $_POST['datetime'] - тут понятно, дата и время оплаты
// $_POST['sender'] - если оплата производится через Яндекс Деньги, то этот параметр содержит номер кошелька покупателя
// $_POST['label'] - лейбл, который мы указывали в форме оплаты
// $_POST['email'] - email покупателя (доступен только при использовании https://)
// Генерация ключа, для проверки подлинности пришедших к нам данных
$hash = $_POST['notification_type'] . '&'. $_POST['operation_id']. '&' . $_POST['amount'] . '&643&' . $_POST['datetime'] . '&'. $_POST['sender'] . '&' . $_POST['codepro'] . '&' . $secret_key. '&' . $_POST['label'];
$sha1 = hash('sha1', $hash);
if ($sha1 != $_POST['sha1_hash'] ) {
// Код на случай если ключи не совпадают...значит либо пришло чтото левое,
//либо Вы не правильно сгенерировали ключ
} else {
$id = abs(intval($_POST['label']));
$pay = $db->prepare('SELECT * FROM `pay` WHERE `id` = ?');
$pay -> execute([$id]);
$pay = $pay -> fetch(PDO :: FETCH_ASSOC);
/*Присваиваем статус */
$sql = $db->prepare('UPDATE `pay` SET `status` = ? WHERE `id` = ?');
$sql -> execute(['success',$pay['id']]);
}
exit('OK')
?>