Fix Stripe route helpers and improve error handling in checkout process

This commit is contained in:
kbe
2025-09-06 03:31:55 +02:00
parent 2c9caf3205
commit 76761cdaa0
2 changed files with 12 additions and 4 deletions

View File

@@ -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

View File

@@ -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: {
@@ -269,12 +273,16 @@ class OrdersController < ApplicationController
}
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