[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отсылка письма по http-уведомлению
rikitikis
Здравствуйте. Магазин н Wordpress (Woocommerce) может может принимать через шлюз Яндекс Деньги (для физ лиц) На последнем этапе, по факту оплаты сайт должен выслать покупателю письмо. Но этого не происходит. Однако после оплаты на сайт приходит httpу-ведомление, которое записывается в log.txt вот этим нехитрым скриптом:

<?
$test = '0'; //Тестирование системы: 0 - выключено, 1 - включено

$notification_secret = "01234567890ABCDEF01234567890"; //СЮДА ВСТАВИТЬ Секретный код выданый ВАМ ЯД

$notification_type = $_POST["notification_type"];
$operation_id = $_POST["operation_id"];
$amount = $_POST["amount"];
$currency = $_POST["currency"];
$datetime = $_POST["datetime"];
$sender = $_POST["sender"];
$codepro = $_POST["codepro"];
$label = $_POST["label"];
$sha1_hash = $_POST["sha1_hash"];
$test_notification = $_POST["test_notification"];

$hash = $notification_type . '&' . $operation_id . '&' . $amount . '&' . $currency . '&' . $datetime . '&' . $sender . '&' . $codepro . '&' . $notification_secret . '&' . $label; //формируем хеш

$sha1 = hash("sha1", $hash); //кодируем в SHA1

//Ниже - проверка на валидность

if ( $sha1 == $sha1_hash ) {
echo 'OK';
} else {
echo 'error';
}

// Ниже - отладка - запись в файл testlog.txt переданых данных с ЯД.
if ($test=='1') {
$test_wr = fopen ('testlog.txt', 'a+');
fwrite ($test_wr, "$notification_type - тип нотификации\r\n$operation_id - ид операции\r\n$amount - сумма\r\n$currency -Код валюты\r\n$datetime - дата+время\r\n$sender -отправитель\r\n$codepro - наличие кода протекции\r\n$label - метка платежа\r\n$sha1_hash - переданый проверочный хеш\r\n$sha1 - расчитаный хэш\r\n$test_notification - тестовая нотификация\r\n");
fclose ($test_wr);
}
?>

Скрипт хорошо работает, помещая после каждой оплаты значения переменных в ltestlog.txt. Но вот вопрос - как при приходе этих переменных сразу отправить письмо с сайта на email плательщика об успешной оплате?
Мне проверка хеша и прочие меры безопасности не нужны. Требуется только значение $_POST["label"]. Я и сам могу после проверить поступили ли деньги на кошелёк, прежде чем отправлять заказ. А вот моментальная отправка с сайта после оплаты письма в адрес плательщика важна.
Значение $_POST["label"] равно номеру заказа. Сам номер заказа order_id автоматически создаётся на сайте перед оплатой и откладывается вместе с адресом почты и прочими реквизитами плательщика в базу mysql Wordpress-Woocommerce). Поэтому необходимо сделать выборку в базе с проверкой наличия в ней значения соответствующего значению $_POST["label"]. В случае наличия скрипт должен отправить покупателю письмо. Как это сделать не знаю, поэтому прошу помощи.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.