Fix Stripe route helpers and improve error handling in checkout process
This commit is contained in:
@@ -266,8 +266,8 @@ module Api
|
|||||||
payment_method_types: [ "card" ],
|
payment_method_types: [ "card" ],
|
||||||
line_items: line_items,
|
line_items: line_items,
|
||||||
mode: "payment",
|
mode: "payment",
|
||||||
success_url: order_payment_success_url + "?session_id={CHECKOUT_SESSION_ID}",
|
success_url: payment_success_url + "?session_id={CHECKOUT_SESSION_ID}",
|
||||||
cancel_url: order_payment_cancel_url,
|
cancel_url: payment_cancel_url,
|
||||||
metadata: {
|
metadata: {
|
||||||
order_id: @order.id,
|
order_id: @order.id,
|
||||||
user_id: current_user.id
|
user_id: current_user.id
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ class OrdersController < ApplicationController
|
|||||||
error_message = e.message.present? ? e.message : "Erreur Stripe inconnue"
|
error_message = e.message.present? ? e.message : "Erreur Stripe inconnue"
|
||||||
Rails.logger.error "Stripe checkout session creation failed: #{error_message}"
|
Rails.logger.error "Stripe checkout session creation failed: #{error_message}"
|
||||||
flash[:alert] = "Erreur lors de la création de la session de paiement"
|
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
|
end
|
||||||
end
|
end
|
||||||
@@ -255,6 +256,9 @@ class OrdersController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def create_stripe_session
|
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|
|
line_items = @order.tickets.map do |ticket|
|
||||||
{
|
{
|
||||||
price_data: {
|
price_data: {
|
||||||
@@ -268,13 +272,17 @@ class OrdersController < ApplicationController
|
|||||||
quantity: 1
|
quantity: 1
|
||||||
}
|
}
|
||||||
end
|
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(
|
Stripe::Checkout::Session.create(
|
||||||
payment_method_types: [ "card" ],
|
payment_method_types: [ "card" ],
|
||||||
line_items: line_items,
|
line_items: line_items,
|
||||||
mode: "payment",
|
mode: "payment",
|
||||||
success_url: order_payment_success_url + "?session_id={CHECKOUT_SESSION_ID}",
|
success_url: payment_success_url + "?session_id={CHECKOUT_SESSION_ID}",
|
||||||
cancel_url: order_payment_cancel_url,
|
cancel_url: payment_cancel_url,
|
||||||
metadata: {
|
metadata: {
|
||||||
order_id: @order.id,
|
order_id: @order.id,
|
||||||
user_id: current_user.id
|
user_id: current_user.id
|
||||||
|
|||||||
Reference in New Issue
Block a user