giftcon_dev/app/Http/Controllers/Web/Payment/DanalDemoController.php

42 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers\Web\Payment;
use App\Http\Controllers\Controller;
use App\Services\Payments\CheckoutService;
use Illuminate\Http\Request;
final class DanalDemoController extends Controller
{
public function __construct(
private readonly CheckoutService $checkout,
) {}
public function form()
{
abort_unless(app()->environment('local'), 404);
return view('web.payments.danal.demo');
}
public function submit(Request $request)
{
abort_unless(app()->environment('local'), 404);
$data = $request->validate([
'mem_no' => ['required','integer','min:1'],
'amount' => ['required','integer','min:100'],
'method' => ['required','in:card,vact,phone'],
'card_kind' => ['nullable','in:general,exchange'],
'phone_mode' => ['nullable','in:prod,dev'],
'is_mobile' => ['nullable','boolean'],
]);
$order = $this->checkout->createDemoOrder(
(int)$data['mem_no'],
(int)$data['amount']
);
return redirect()->route('web.payments.danal.demo.form')->with('oid', $order->oid)->with('data', $data);
}
}