@if(Auth::user()->hasSubscription('Имя подписки'))
Наша тайная кнопка
@endif
// Вот есть у вас модель, допустим InvoiceUser. Там не файл храним, а данные из реквеста.
// Миграция
$table->id();
$table->foreignId('user_id')->comment('Создатель инвойса');
$table->string('name')->comment('Название инвойса');
$table->text('products')->comment('Для упрощения запихнём все данные сюда');
// Контроллер - СОХРАНЕНИЕ инвойса
public function store(Request $request)
{
$invoice = $request->user()->invoices()->create($request->all());
// Дальше редиректим на скачивание
// Зная ID инвойса вы в любом месте сможете создать такую ссылку.
return redirect('/my/download/invoice/' . $invoice->id);
}
// Контроллер - СКАЧИВАНИЕ инвойса
public function download(InvoiceUser $invoiceUser)
{
// Не владелец - пошёл вон
if ($invoiceUser->user_id !== Auth::id()) {
abort(403);
}
// Дальше делаем всё то что вы делали у себя. Генерируем PDF, но не из реквеста а из $invoiceUser.
}