trado_stripe_module 0.1.1 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d7394040126766250f5afd5203b7c7826f8f9cd1
4
- data.tar.gz: 90b7644260815e746956668bd6abd70497ecaf87
3
+ metadata.gz: 62c4d987e7e0737f13f7dc18b4600703ea506c00
4
+ data.tar.gz: 832ed68faf6ba7eb336cd8ca2577ea001e7b6236
5
5
  SHA512:
6
- metadata.gz: d5f4d8e9843616abe18435eefa36740ead06cc0cbd4639dd86802ef046b0c28b8cabc71ec0567f861ed69a0c1b514ec9a59451196ed522ee6c11b0fedf44c724
7
- data.tar.gz: 5768d77ac791f78de59f0b39b48abe59979cb97050ce7f38ff3447543e3319994d3809c585717d9a7780526a677009c2a5478a69d6df2180900b0c7f2bbcc914
6
+ metadata.gz: 00304ee97898eabc4beb2dcfe95d9c9dabf7cea25c0f51e919d17cc3fe02c64e194b150c757bc2c87d23228c707e6e832cddc0a5d6c0e83f135a47a558f5c4e8
7
+ data.tar.gz: e121198dbb800092f1468cc148a6c9bf18d5194be08d52e471b29966b3b3b804db88c25ff479e6680354456a09b12146191760595dbd39df8892b29ccfe79676
@@ -13,18 +13,18 @@ class TradoStripeModule::StripeController < ApplicationController
13
13
  begin
14
14
  if @order.save
15
15
  set_order_id_session
16
+ @order.calculate(current_cart, Store.tax_rate)
16
17
  @order.remove_redundant_stripe_cards
17
18
  @order.create_stripe_card
18
- @order.calculate(current_cart, Store.tax_rate)
19
19
  redirect_to confirm_order_url(@order)
20
20
  else
21
21
  flash_message :error, 'An error ocurred with your order. Please try again.'
22
22
  render theme_presenter.page_template_path('carts/checkout'), layout: theme_presenter.layout_template_path
23
23
  end
24
- rescue Stripe::InvalidRequestError, Stripe::APIConnectionError => e
25
- flash_message :error, 'An error ocurred with your order. Please try again.'
24
+ rescue Stripe::InvalidRequestError, Stripe::APIConnectionError, Stripe::CardError, NoMethodError => e
25
+ flash_message :error, 'An error ocurred with your order, please confirm your card details and try again.'
26
26
  Rails.logger.error "Stripe Error: #{e} ? #{@order.email} | #{@order.id}"
27
- redirect_to checkout_carts_url
27
+ render theme_presenter.page_template_path('carts/checkout'), layout: theme_presenter.layout_template_path
28
28
  end
29
29
  end
30
30
 
@@ -19,7 +19,7 @@ module TradoStripeModule
19
19
  end
20
20
 
21
21
  define_method("stripe_cards") do
22
- stripe_customer.sources.all(:object => "card")['data']
22
+ stripe_customer.sources.all(object: "card")['data']
23
23
  end
24
24
 
25
25
  define_method("default_card") do
@@ -1,3 +1,4 @@
1
+ require 'money'
1
2
  require_dependency 'lib/payatron_4000'
2
3
 
3
4
  module TradoStripeModule
@@ -17,7 +18,8 @@ module TradoStripeModule
17
18
  customer: order.stripe_customer_id,
18
19
  description: "Order ID ##{order.id} | #{order.billing_address.full_name} | #{order.email}",
19
20
  metadata: Hash[ *order.order_items.collect { |item| [ "order_item_#{item.id}", "#{item.product.name} - #{item.sku.full_sku}" ] }.flatten ],
20
- statement_descriptor: Store.settings.stripe_statement_descriptor
21
+ statement_descriptor: Store.settings.stripe_statement_descriptor,
22
+ expand: ['balance_transaction']
21
23
  )
22
24
  if charge.paid
23
25
  TradoStripeModule::Striper.successful(charge, order)
@@ -41,7 +43,7 @@ module TradoStripeModule
41
43
  # @param charge [Object]
42
44
  # @param order [Object]
43
45
  def self.successful charge, order
44
- Transaction.new( :fee => charge.application_fee,
46
+ Transaction.new( :fee => TradoStripeModule::Striper.format_currency(charge),
45
47
  :order_id => order.id,
46
48
  :payment_status => 'completed',
47
49
  :transaction_type => 'Credit',
@@ -75,5 +77,9 @@ module TradoStripeModule
75
77
  ).save(validate: false)
76
78
  Payatron4000.increment_product_order_count(order.products)
77
79
  end
80
+
81
+ def self.format_currency charge
82
+ Money.new(charge.balance_transaction.fee, charge.currency.upcase)
83
+ end
78
84
  end
79
85
  end
@@ -1,3 +1,3 @@
1
1
  module TradoStripeModule
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trado_stripe_module
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Dallimore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-03 00:00:00.000000000 Z
11
+ date: 2016-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: money
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '6.7'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '6.7'
55
69
  description: Module for Stripe payment functionality in the Trado Ecommerce platform.
56
70
  email:
57
71
  - me@tomdallimore.com