[PW] Веб Часть Пример автоприема платежей через Yandex.Money

  • Автор темы Автор темы Andrey
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Andrey

Я админ,смекаешь?
Команда форума
Админ
Зануда
Проверенный
Местный
Идем в настройки своего кошелька и видим такую замечательную функцию как http информирование
https://sp-money.yandex.ru/tunes.xml?_openstat=template;ipulldown;settings

1.jpg
Нажимаем настроить и вписываем прямую ссылку до нашего будущего скрипта, ну и включаем его конечно же
2.jpg
Кнопка с документацией там есть, пример скрипта yandex_money.php ниже (сразу говорю что не тестил в этом виде, но для теста можно создать sql базу и дописать скрипт что бы он засовывал туда тестовые параметры которые можно получить через кнопку протестировать в тех же настройках)
PHP:
$Conf = array(
    "mysql_host" => "localhost",
    "mysql_login" => "root",
    "mysql_pass" => "",
    "mysql_db" => "pw",
    "secret_key" => "",
    "to_lk" => 1
);
if (isset($_POST['sha1_hash'])) {
    if (sha1($_POST['notification_type'].'&'.$_POST['operation_id'].'&'.$_POST['amount'].'&'.$_POST['currency'].'&'.$_POST['datetime'].'&'.$_POST['sender'].'&'.$_POST['codepro'].'&'.$Conf['secret_key'].'&'.$_POST['label']) == $_POST['sha1_hash']) {
        $label = $_POST['label']; //Комментарий (там будет писаться логин аккаунта)
        $datetime = $_POST['datetime']; //Время отправки
        $sender = $_POST['sender']; //Кошелек отправлявшего
        $amount = $_POST['amount']; //Сумма денег которая пришла
        $codepro = $_POST['codepro']; //Перевод защищен кодом протекции, если да то мы такой не приинимаем
        if ($codepro == true) {
            //exit();
        }
        $mon = round($amount * $Conf['to_lk'], 0);
        mysql_connect($Conf['mysql_host'], $Conf['mysql_login'], $Conf['mysql_pass']);
        mysql_select_db($Conf['mysql_db']);
        mysql_query("UPDATE users SET money=money+'$mon' WHERE name='$label'");
        mysql_close();
    } else {
        die("You are not yandex money!");
    }
}
Собственно сначала проверяем что этот запрос пришел от яндекса, а потом зачисляем его юзеру, ну и в описании к платежу обязательно должен быть верный логин аккаунта (вписываем в конфиг свой секретный ключ и никому его не говорим!)

Ну и намного больше написано в справке яндекса https://tech.yandex.ru/money/doc/dg/reference/notification-p2p-incoming-docpage/
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху