diff --git a/app/controllers/orders_controller.rb b/app/controllers/orders_controller.rb index bffa5e4..7378648 100644 --- a/app/controllers/orders_controller.rb +++ b/app/controllers/orders_controller.rb @@ -270,6 +270,19 @@ class OrdersController < ApplicationController } end + # Add service fee as a separate line item + line_items << { + price_data: { + currency: "eur", + product_data: { + name: "Frais de service", + description: "Frais de traitement de la commande" + }, + unit_amount: 100 # 1€ in cents + }, + quantity: 1 + } + Stripe::Checkout::Session.create( payment_method_types: [ "card" ], line_items: line_items, diff --git a/app/models/order.rb b/app/models/order.rb index ddf24ae..41eccb0 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -88,9 +88,11 @@ class Order < ApplicationRecord end end - # Calculate total from tickets + # Calculate total from tickets plus 1€ service fee def calculate_total! - update!(total_amount_cents: tickets.sum(:price_cents)) + ticket_total = tickets.sum(:price_cents) + fee_cents = 100 # 1€ in cents + update!(total_amount_cents: ticket_total + fee_cents) end # Create Stripe invoice for accounting records diff --git a/app/views/orders/checkout.html.erb b/app/views/orders/checkout.html.erb index 1139d96..d559bce 100644 --- a/app/views/orders/checkout.html.erb +++ b/app/views/orders/checkout.html.erb @@ -118,9 +118,19 @@
TVA incluse