diff --git a/app/controllers/api/v1/orders_controller.rb b/app/controllers/api/v1/orders_controller.rb index 171d52d..b3c92b0 100644 --- a/app/controllers/api/v1/orders_controller.rb +++ b/app/controllers/api/v1/orders_controller.rb @@ -266,8 +266,8 @@ module Api payment_method_types: [ "card" ], line_items: line_items, mode: "payment", - success_url: order_payment_success_url + "?session_id={CHECKOUT_SESSION_ID}", - cancel_url: order_payment_cancel_url, + success_url: payment_success_url + "?session_id={CHECKOUT_SESSION_ID}", + cancel_url: payment_cancel_url, metadata: { order_id: @order.id, user_id: current_user.id diff --git a/app/controllers/orders_controller.rb b/app/controllers/orders_controller.rb index 2d7f456..620434f 100644 --- a/app/controllers/orders_controller.rb +++ b/app/controllers/orders_controller.rb @@ -128,6 +128,7 @@ class OrdersController < ApplicationController error_message = e.message.present? ? e.message : "Erreur Stripe inconnue" Rails.logger.error "Stripe checkout session creation failed: #{error_message}" flash[:alert] = "Erreur lors de la création de la session de paiement" + @checkout_session = nil # Explicitly set to nil on error end end end @@ -255,6 +256,9 @@ class OrdersController < ApplicationController end def create_stripe_session + Rails.logger.debug "Creating Stripe session for order #{@order.id}" + Rails.logger.debug "Order tickets: #{@order.tickets.inspect}" + line_items = @order.tickets.map do |ticket| { price_data: { @@ -268,13 +272,17 @@ class OrdersController < ApplicationController quantity: 1 } end + + Rails.logger.debug "Stripe line items: #{line_items.inspect}" + Rails.logger.debug "Success URL: #{payment_success_url}" + Rails.logger.debug "Cancel URL: #{payment_cancel_url}" Stripe::Checkout::Session.create( payment_method_types: [ "card" ], line_items: line_items, mode: "payment", - success_url: order_payment_success_url + "?session_id={CHECKOUT_SESSION_ID}", - cancel_url: order_payment_cancel_url, + success_url: payment_success_url + "?session_id={CHECKOUT_SESSION_ID}", + cancel_url: payment_cancel_url, metadata: { order_id: @order.id, user_id: current_user.id