
Вебхуки в Laravel: приём и проверка подписи
Как принять вебхук в Laravel и не пустить в обработку поддельный запрос: проверка HMAC-подписи, защита от повторов и три ошибки, из-за которых подпись не сходится.

Как принять вебхук в Laravel и не пустить в обработку поддельный запрос: проверка HMAC-подписи, защита от повторов и три ошибки, из-за которых подпись не сходится.

Касты и аксессоры в Eloquent удобны, пока не всплывают лишние запросы, сломанная сериализация и данные, которые попадают в базу не в том виде. Разбираем, что проверить до релиза.

Три способа подключить платежи к Laravel-приложению: пакет Cashier для подписок, официальные SDK шлюзов и прямой вызов API. Разбираем цену каждого подхода и когда что брать.

Дубли списаний, потерянные вебхуки, статус «оплачено» без денег на счёте. Разбираем, как принимать платежи в Laravel так, чтобы деньги и заказы не расходились.

Как отдавать пользователям счета в PDF и отчёты в Excel без падений по памяти и таймаутов: выбор библиотек, потоковая запись и вынос генерации в очередь.

Отчёт на 50 тысяч строк валит воркер по памяти, кириллица в PDF превращается в квадраты, а файл скачивается пустым. Разбираем, где ломается генерация документов в Laravel и как этого избежать.

Форма принимает картинку, а через месяц в storage лежат гигабайты мусора, публичные ссылки не работают, а SVG с XSS уже открыли админку. Разбираем, где ломается загрузка изображений в Laravel 11 и как её делать правильно.

Загрузка аватарок и товарных фото упирается в выбор библиотеки обработки, диска хранения и момента ресайза. Разбираем варианты и цену каждого.

Трейт SoftDeletes кажется очевидным решением для «удаления с возможностью восстановить», но он ломает уникальные индексы и молча искажает подсчёты. Разбираем три подхода и цену каждого.

Мягкое удаление в Laravel выглядит как одна строка в модели, но ломается на уникальных индексах, каскадах и глобальных скоупах. Разбираем приёмы, которые выдерживают прод.

Разбираем новый синтаксис аксессоров через Attribute, кастомные касты и типовые ошибки: почему JSON превращается в строку, а деньги теряют копейки.

Касты и аксессоры в Eloquent удобны ровно до момента, когда в базе оказывается null там, где ждали объект, а json-поле молча перезаписывает изменения. Разбираем, где эти абстракции ломаются.