Sha256: 9441869a229a20b49ed8582fc97efdb56fe0eb5e037022b2d47012ff4be7a4e6

Contents?: true

Size: 1.12 KB

Versions: 3

Compression:

Stored size: 1.12 KB

Contents

require 'stripe'
require 'stripe_helper'

module Locomotive
  module Ecommerce
    class StripeConfigurationHelper
      include EcommerceHelper
    end

    ::StripeHelper.configure do |config|
      helper = StripeConfigurationHelper.new

      amt_proc = lambda do |controller, token|
        purchase = Purchase.where(_id: token).first
        return nil if !purchase
        (purchase.total.round(2)*100).to_i
      end

      failure_proc = lambda do |controller, token, msg|
        purchase = Purchase.where(_id: token).first
        controller.flash[:error] = msg
        helper.checkout_path
      end

      success_proc = lambda do |controller, token, stripe|
        purchase = Purchase.where(_id: token).first
        Purchase.complete(token,
          helper.current_user(controller),
          helper.current_user_cart(controller),
          stripe,
          controller.session)
        controller.flash[:notice] = "Thank you for your purchase."
        helper.post_checkout_path
      end

      config.charge_amount  = amt_proc
      config.charge_failure = failure_proc
      config.charge_success = success_proc
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
locomotive_ecommerce_plugin-1.0.6 config/initializers/stripe_setup.rb
locomotive_ecommerce_plugin-1.0.5 config/initializers/stripe_setup.rb
locomotive_ecommerce_plugin-1.0.4 config/initializers/stripe_setup.rb