<?php
namespace App\Http\Middleware\User;
use Closure;
use Carbon\Carbon;
use Illuminate\Http\Request;
use App\Models\TemporaryData;
class CheckoutVerification
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
$identifier = $request->route('order_id');
$data = TemporaryData::where('identifier',$identifier)->first();
if(!$data) return back()->with(['error' => ['Data not found']]);
if (Carbon::parse($data->data->expiration) < Carbon::now()) {
$data->delete();
return redirect()->route('frontend.index')->with(['error'=> ['Sorry! Link is expired.']]);
}
if(!$data){
$smg = "Data not found!";
return redirect()->route("frontend.index")->with(['error' => [$smg]]);
}
return $next($request);
}
}
To ensure a smooth integration process and optimal performance, follow these best practices: