diff --git a/app/Http/Controllers/NorthCheckoutController.php b/app/Http/Controllers/NorthCheckoutController.php index 941d72d..c84556a 100644 --- a/app/Http/Controllers/NorthCheckoutController.php +++ b/app/Http/Controllers/NorthCheckoutController.php @@ -53,15 +53,23 @@ class NorthCheckoutController extends Controller ])->post('https://checkout.north.com/api/sessions', [ 'checkoutId' => $checkoutId, 'profileId' => $profileId, - 'amount' => $total_cost, + 'amount' => (float)$total_cost, ]); if ($response->failed()) { - Log::error('North Session Creation Failed: ' . $response->body()); - return response()->json(['error' => 'Failed to create checkout session.'], 500); + Log::error('North Session Creation Failed: ' . $response->status() . ' ' . $response->body()); + return response()->json(['error' => 'Failed to create checkout session: ' . ($response->json('message') ?? 'Unknown error')], 500); } - return response()->json($response->json()); + $data = $response->json(); + $token = $data['token'] ?? $data['sessionToken'] ?? null; + + if (!$token) { + Log::error('North Session Token Missing in Response: ' . json_encode($data)); + return response()->json(['error' => 'Session token not found in API response.'], 500); + } + + return response()->json(['sessionToken' => $token]); } public function verify(Request $request, $bidder_id) diff --git a/resources/views/north_checkout.blade.php b/resources/views/north_checkout.blade.php index a0478e0..0084baa 100644 --- a/resources/views/north_checkout.blade.php +++ b/resources/views/north_checkout.blade.php @@ -47,6 +47,7 @@ }); const data = await response.json(); + console.log('North Session Response:', data); if (data.error) { document.getElementById('checkout-container').innerHTML = `