trado_stripe_module 0.1.1 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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