ekart/backend/app/Http/Controllers/PaymentController.php
kusowl 2aa76db042 feature: implement payment gateway
- implement stripe checkout gateway
- add payment gateway factory and service
2026-03-23 17:29:24 +05:30

45 lines
1.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Actions\ProcessOrderPaymentAction;
use App\Enums\PaymentModes;
use App\Http\Requests\PaymentRequest;
use App\Http\Resources\PaymentResource;
use App\Models\Order;
use App\Models\Payment;
class PaymentController extends Controller
{
public function index()
{
return PaymentResource::collection(Payment::all());
}
public function store(PaymentRequest $request, Order $order, ProcessOrderPaymentAction $action)
{
$response = $action->execute($order, PaymentModes::tryFrom($request->mode));
return new PaymentResource($response);
}
public function show(Payment $payment)
{
return new PaymentResource($payment);
}
public function update(PaymentRequest $request, Payment $payment)
{
$payment->update($request->validated());
return new PaymentResource($payment);
}
public function destroy(Payment $payment)
{
$payment->delete();
return response()->json();
}
}