Исправить Интеграцию интернет магазина с платежной системой WayForPay

Customer: AI | Published: 20.08.2025

требуется одно точечное исправление. Интернет-магазин на Laravel (PHP 7.2). Платёжка — WayForPay. База — MySQL. Задача Сделать так, чтобы после уведомления о успешной оплаты от WayForPay заказ автоматически: получал статус оплачен, попадал в админку в список новых, происходило списание остатков и рассылка писем. ( ЭТО ВСЕ БЫЛО РАНЕЕ НАСТРОЕНО) После добавления способа доставки и редиректасломалась обработка колбэка: тело колбэка разбирается неверно → иногда $result = null и падает на orderReference; итог: оплаченные заказы остаются в черновиках и не видны в админке как оплаченные. Как должно работать (логика) При приходе колбэка с transactionStatus = "Approved": Извлечь payload, найти заказ по orderReference ID Если подпись ок → обновить заказ и вернуть accept. Что исправить Править только метод callbackWayforpay в app/Http/Controllers/OrderController.php Обновление заказа при валидации: status = 3 (оплачен), admin_status = 1 (новый), source = 4 (WayForPay), date_accept_order = now(), списать остатки, отправить письма. Ответ WayForPay: Вернуть JSON {"orderReference": "", "status": "accept", "time": , "signature": hmac_md5(orderRef.";accept;".time, salt)}. Ожидаемый результат Повторная отправка сервисного уведомления из кабинета WayForPay по реально оплаченному заказу → ответ accept, заказ меняет статус на status=3, admin_status=1, source=4 и виден в админке как новый; остатки списаны, письма отправлены. Примечания Маршрут уже есть: POST /callback-wayforpay. Ничего в архитектуре/маршрутах/редиректах не менять — только точечное исправление разбора входа и подписи в callbackWayforpay. ChatGPT может допускать ошибки. Рекомендуем проверять важную информацию.