module Spree::CheckoutControllerDecorator

Public Class Methods

prepended(base) click to toggle source
# File lib/spree_frontend/controllers/spree/checkout_controller_decorator.rb, line 3
def self.prepended(base)
  base.before_action :process_payments_and_set_keys, only: :edit, if: proc { params[:state] == 'payment_confirm' }
end

Public Instance Methods

process_payments_and_set_keys() click to toggle source
# File lib/spree_frontend/controllers/spree/checkout_controller_decorator.rb, line 7
def process_payments_and_set_keys
  @order.tap do |order|
    order.process_payments!
    order.reload.payments.valid.where.not(intent_client_key: nil).last.tap do |payment|
      @client_secret = payment.intent_client_key
      @pk_key = payment.payment_method.preferred_publishable_key
    end
  end
end