донат шоп, управление магазином, яндекс метрика

This commit is contained in:
2026-07-19 19:17:29 +04:00
parent 8bf1b852f0
commit df7f98fe8b
48 changed files with 1859 additions and 18 deletions
@@ -0,0 +1,42 @@
<?php
namespace App\Http\Controllers;
use App\Services\RobokassaService;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
use Illuminate\View\View;
class PaymentController extends Controller
{
public function create(Request $request, RobokassaService $robokassa): View
{
$validated = $request->validate([
'amount' => [
'required',
'numeric',
'decimal:0,2',
Rule::numeric()->min((float) config('services.robokassa.minimum_amount'))->max((float) config('services.robokassa.maximum_amount')),
],
]);
$user = $request->user();
$invoice = $robokassa->createInvoice($user->id, (string) $validated['amount']);
return view('payments.redirect', [
'paymentUrl' => config('services.robokassa.payment_url'),
'parameters' => $robokassa->paymentParameters($invoice, $user->email),
]);
}
public function success(): RedirectResponse
{
return redirect()->route('cabinet.index')->with('status', 'Пополнение принято. Слёзы Элуны скоро появятся на счёте.');
}
public function fail(): RedirectResponse
{
return redirect()->route('cabinet.index')->with('error', 'Оплата отменена или не была завершена.');
}
}