Z
Z
zvntgm2018-10-22 08:40:16
PHP
zvntgm, 2018-10-22 08:40:16

Receiving HTTP Notifications from yandex about crediting the payment and sending a notification to the user at the specified mail?

Friends, we need help. I have a simple site and it implements a simple payment through Yandex, the user presses the "transfer" button, enters his mail and danatit a certain amount. The task is simple to receive an http notification from Yandex and send a notification to the user at the mail address specified by him
. Here is the script for receiving the notification

<?php
$secret = '000000000000000000000'; // секрет, который мы получили в первом шаге от яндекс.
// получение данных.
$r = array(
  'notification_type' => $_POST['notification_type'], // p2p-incoming / card-incoming - с кошелька / с карты
  'operation_id'      => $_POST['operation_id'],      // Идентификатор операции в истории счета получателя.
  'amount'            => $_POST['amount'],            // Сумма, которая зачислена на счет получателя.
  'withdraw_amount'   => $_POST['withdraw_amount'],   // Сумма, которая списана со счета отправителя.
  'currency'          => $_POST['intval'],            // Код валюты — всегда 643 (рубль РФ согласно ISO 4217).
  'datetime'          => $_POST['datetime'],          // Дата и время совершения перевода.
  'sender'            => $_POST['sender'],            // Для переводов из кошелька — номер счета отправителя. Для переводов с произвольной карты — параметр содержит пустую строку.
  'codepro'           => $_POST['codepro'],           // Для переводов из кошелька — перевод защищен кодом протекции. Для переводов с произвольной карты — всегда false.
        'email'             => $_POST['email'],             // Email адрес отправителя
  'label'             => $_POST['label'],             // Метка платежа. Если ее нет, параметр содержит пустую строку.
  'sha1_hash'         => $_POST['sha1_hash']          // SHA-1 hash параметров уведомления.
);

// проверка хеш
if (sha1($r['notification_type'].'&'.
         $r['operation_id'].'&'.
         $r['amount'].'&'.
         $r['currency'].'&'.
         $r['datetime'].'&'.
         $r['sender'].'&'.
         $r['codepro'].'&'.
         $r['email'].'&'.
         $secret.'&'.
         $r['label']) != $r['sha1_hash']) {
  exit('Верификация не пройдена. SHA1_HASH не совпадает.'); // останавливаем скрипт. у вас тут может быть свой код.
}

// Тут должен быть скрипт для отправки сообщения на email  получиный из  $r['email'] 
// Помогите допилить пожалуйста )
$to =  данныйе из $r['email'] ;
  $subject = "Robot - Робот";
  $message = "Message, сообщение!";
  mail ($to, $subject, $message);
?>

I don't know much about php, please help me!

Answer the question

In order to leave comments, you need to log in

2 answer(s)
S
Sergey Sokolov, 2018-10-22
@sergiks

Freelancing link at the top of the page.

M
My joy, 2018-10-22
@t-alexashka

well, just:

$to = $r['email'] ;
  $subject = "Robot - Робот";
  $message = "Message, сообщение!";
  if(mail($to, $subject, $message)) {
    echo 'сообщение отправлено';
} else {
    echo 'сообщение не отправлено.'; // проблема с настройкой mail
}

have you tried? everything seems to be written correctly. it is not clear what exactly is the problem.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question