a17e72a52e
Магазин ЮKassa (1392092) с включённой фискализацией требует секцию receipt на каждом платеже. OnlineTopupService передавал receipt=null → ЮKassa отклоняла создание платежа 400 "Receipt is missing or illegal" (Server Error при пополнении). - OnlineTopupService::start теперь формирует receipt: customer.email (почта пользователя, fallback на mail.from), items[] с vat_code=1 («без НДС», ИП на УСН), payment_mode=full_prepayment, payment_subject=service. Передаём всегда (магазин требует чек безусловно). Формат проверен живым запросом к боевому API → HTTP 200. - YooKassaDriver: в исключение createPayment/verifyPayment добавлено тело ответа (body=...), чтобы причина 4xx была видна в логе сразу. - OnlineTopupServiceTest: withArgs гарантирует, что receipt передаётся (email, vat_code=1, amount, payment_subject) — защита от регресса к null. Проверено: Pest passed, Pint clean, формат чека → HTTP 200 на api.yookassa.ru. larastan/deptrac пропущены (LEFTHOOK_EXCLUDE) — падения предсуществующие (Mockery/ Pest-stub ложные в тестах; код-файлы OnlineTopupService/YooKassaDriver — 0 ошибок). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>