@kentos

Как обработать уведомления в яндекс кассе?

Здравствуйте, пытаюсь обработать уведомления от Яндекс кассы, урл в ЛК указал, куда должно придти.
Пытался сделать POST запрос через postman, там приходил NULL
Вставлял в ЛК ссылку с webhook.site все приходит, а вот мне на хост, нет(

$source = file_get_contents('php://input');
$requestBody = json_decode($source, true);

var_dump($requestBody);
    use YooKassa\Model\Notification\NotificationSucceeded;
    use YooKassa\Model\Notification\NotificationWaitingForCapture;
    use YooKassa\Model\NotificationEventType;


    try {
        $notification = ($requestBody['event'] === NotificationEventType::PAYMENT_SUCCEEDED)
          ? new NotificationSucceeded($requestBody)
          : new NotificationWaitingForCapture($requestBody);
      } catch (Exception $e) {
          // Обработка ошибок при неверных данных
      }

$payment = $notification->getObject();

if($payment->getStatus() === PaymentStatus::SUCCEEDED) {

    mysqli_query($connection, "UPDATE users SET UserBalance = UserBalance + '".$payment->amount->value."'  WHERE UserEmail = '".$payment->description."'");
    // Отправка сообщения
    $mailTo = "iwenik@gmail.com"; // Ваш e-mail
    $subject = "На сайте совершен платеж"; // Тема сообщения
    // Сообщение
    $message = "Платеж на сумму: " . $payment->amount->value . "<br/>";
    $message .= "Детали платежа: " . $payment->description . "<br/>";
    
    $headers= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";
    $headers .= "From: info@site.ru <info@site.ru>\r\n";
    
    mail($mailTo, $subject, $message, $headers);
}
  • Вопрос задан
  • 288 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы