fix: finalize payments and clear cart after Paybox success

This captures the Paybox verification flow, duplicate-payment guard, and cart cleanup.
This commit is contained in:
Valentin Lab
2025-10-04 09:17:53 +02:00
parent 883d2d634d
commit 0e9d758e6b
2 changed files with 157 additions and 12 deletions

View File

@@ -3,13 +3,19 @@
namespace App\Http\Controllers\Shop;
use App\Http\Controllers\Controller;
use App\Repositories\Core\User\ShopCart;
use App\Repositories\Shop\Paybox as PayboxGateway;
use App\Repositories\Shop\Contents;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class PayboxController extends Controller
{
public function accepted()
{
ShopCart::clear();
return view('paybox.paybox', ['content' => Contents::getPayboxConfirmedContent()]);
}
@@ -30,8 +36,20 @@ class PayboxController extends Controller
public function process(Request $request)
{
$data = $request->all();
$invoiceId = $request->input('order_number');
return view('paybox.send', $data);
if (! $invoiceId) {
Log::warning('Paybox callback missing order_number', ['payload' => $request->all()]);
return response('Missing order_number', 400);
}
$success = PayboxGateway::verifyPayment($invoiceId);
if (! $success) {
return response('KO', 400);
}
return response('OK');
}
}