│
- Create new TicketsController with actions for name collection, creation, and checkout │
- Add dedicated ticket views (new.html.erb, checkout.html.erb, show.html.erb) │
- Update ticket_selection_controller.js to handle form submission via AJAX │
- Add store_cart endpoint in EventsController for session-based cart management │
- Update routes to support new ticket flow: /tickets/new, /create, /checkout │
- Fix attribute name consistency across views (title→name, starts_at→start_time) │
- Add Stripe checkout integration with proper error handling │
- Remove deprecated collect_names flow in favor of streamlined approach │
│
The flow is now: Event selection → AJAX cart storage → Name collection → Checkout → Payment
17 lines
502 B
Ruby
17 lines
502 B
Ruby
module StripeHelper
|
|
# Safely call Stripe methods with error handling
|
|
def safe_stripe_call(&block)
|
|
# Check if Stripe is properly configured
|
|
return nil unless Rails.application.config.stripe[:secret_key].present?
|
|
|
|
# Stripe is now initialized at application startup
|
|
Rails.logger.debug "Using globally initialized Stripe"
|
|
|
|
begin
|
|
yield if block_given?
|
|
rescue Stripe::StripeError => e
|
|
Rails.logger.error "Stripe Error: #{e.message}"
|
|
nil
|
|
end
|
|
end
|
|
end |