Как создать и настроить свой веб-сервер на VDS (05 сен 2024)

Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?

Яндекс.Деньги: прием платежей на сайте

Больше
7 года 6 мес. назад #1 от serge
Один из способов проверки HTTP-уведомления от Яндекса. Иллюстрация к материалу Яндекс.Деньги: прием платежей на сайте :

Code:
$secret_key = '**********************************'; // секретное слово, полученное на Яндексе. // возможно пригодятся: // $_POST['operation_id'] - номер операция // $_POST['amount'] - количество денег, которые поступят на счет получателя // $_POST['withdraw_amount'] - количество денег, которые будут списаны со счета покупателя // $_POST['datetime'] - тут понятно, дата и время оплаты // $_POST['sender'] - если оплата производится через Яндекс Деньги, то этот параметр содержит номер кошелька покупателя // $_POST['label'] - лейбл, который мы указывали в форме оплаты // $_POST['email'] - email покупателя (доступен только при использовании https://) $sha1 = sha1( $_POST['notification_type'] . '&'. $_POST['operation_id']. '&' . $_POST['amount'] . '&643&' . $_POST['datetime'] . '&'. $_POST['sender'] . '&' . $_POST['codepro'] . '&' . $secret_key. '&' . $_POST['label'] ); if ($sha1 != $_POST['sha1_hash'] ) { // если верификация не пройдена, выполняем этот код, любое действие exit(); } // если проверка прошла успешно, любое действие exit();

А я смогу! - А поглядим! - А я упрямый!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Dev banner 1
Больше
7 года 6 мес. назад - 7 года 6 мес. назад #2 от serge
Еще вариант (найдено в Сети):

Code:
//yandex http-notification $secret='XXXXXXXXXXXXXXXXXXXXXXX'; if ($_POST) { $params='notification_type&operation_id&amount&currency&datetime&sender&codepro'; $params=explode('&',$params); $forHASH=array(); foreach($params as $key=>$p) { if (isset($_POST[$p])) array_push($forHASH,$_POST[$p]); } if ($secret!="") array_push($forHASH,$secret); if (isset($_POST['label'])) array_push($forHASH,$_POST['label']); $forHASH=implode('&',$forHASH); if ($_POST['sha1_hash']===sha1($forHASH) && $_POST['codepro']!=='true') { //transact ok. //////////////////////////////// /////// Платёж прошел ///////// //////////////////////////////// $status="Успешно!"; $id=$_POST['label']; $money=$_POST['amount']; $tranid=$_POST["operation_id"]; $flow="in"; $paysystem="ym"; $ymfrom=$_POST['sender']; /*что-то делаем....*/ //////////////////////////////// } }

А я смогу! - А поглядим! - А я упрямый!
Последнее редактирование: 7 года 6 мес. назад пользователем serge.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Работает на Kunena форум