killbill-stripe 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,34 +2,36 @@ require 'spec_helper'
2
2
 
3
3
  ActiveMerchant::Billing::Base.mode = :test
4
4
 
5
- class FakeJavaUserAccountApi
6
- attr_accessor :accounts
7
-
8
- def initialize
9
- @accounts = []
10
- end
11
-
12
- def get_account_by_id(id, context)
13
- @accounts.find { |account| account.id == id.to_s }
14
- end
5
+ describe Killbill::Stripe::PaymentPlugin do
15
6
 
16
- def get_account_by_key(external_key, context)
17
- @accounts.find { |account| account.external_key == external_key.to_s }
18
- end
19
- end
7
+ include ::Killbill::Plugin::ActiveMerchant::RSpec
20
8
 
21
- describe Killbill::Stripe::PaymentPlugin do
22
9
  before(:each) do
23
10
  @plugin = Killbill::Stripe::PaymentPlugin.new
24
11
 
25
- @account_api = FakeJavaUserAccountApi.new
26
- svcs = {:account_user_api => @account_api}
12
+ @account_api = ::Killbill::Plugin::ActiveMerchant::RSpec::FakeJavaUserAccountApi.new
13
+ @payment_api = ::Killbill::Plugin::ActiveMerchant::RSpec::FakeJavaPaymentApi.new
14
+ svcs = {:account_user_api => @account_api, :payment_api => @payment_api}
27
15
  @plugin.kb_apis = Killbill::Plugin::KillbillApi.new('stripe', svcs)
28
16
 
29
- @plugin.logger = Logger.new(STDOUT)
17
+ @call_context = Killbill::Plugin::Model::CallContext.new
18
+ @call_context.tenant_id = '00000011-0022-0033-0044-000000000055'
19
+ @call_context = @call_context.to_ruby(@call_context)
20
+
21
+ @plugin.logger = Logger.new(STDOUT)
30
22
  @plugin.logger.level = Logger::INFO
31
- @plugin.conf_dir = File.expand_path(File.dirname(__FILE__) + '../../../../')
23
+ @plugin.conf_dir = File.expand_path(File.dirname(__FILE__) + '../../../../')
32
24
  @plugin.start_plugin
25
+
26
+ @properties = []
27
+ @pm = create_payment_method(::Killbill::Stripe::StripePaymentMethod, nil, @call_context.tenant_id, @properties)
28
+ @amount = BigDecimal.new('100')
29
+ @currency = 'USD'
30
+
31
+ kb_payment_id = SecureRandom.uuid
32
+ 1.upto(6) do
33
+ @kb_payment = @payment_api.add_payment(kb_payment_id)
34
+ end
33
35
  end
34
36
 
35
37
  after(:each) do
@@ -37,172 +39,123 @@ describe Killbill::Stripe::PaymentPlugin do
37
39
  end
38
40
 
39
41
  it 'should be able to create and retrieve payment methods' do
40
- pm = create_payment_method
42
+ pm = create_payment_method(::Killbill::Stripe::StripePaymentMethod, nil, @call_context.tenant_id)
41
43
 
42
- pms = @plugin.get_payment_methods(pm.kb_account_id)
44
+ pms = @plugin.get_payment_methods(pm.kb_account_id, false, [], @call_context)
43
45
  pms.size.should == 1
44
- pms[0].external_payment_method_id.should == pm.stripe_card_id_or_token
46
+ pms.first.external_payment_method_id.should == pm.token
45
47
 
46
- pm_details = @plugin.get_payment_method_detail(pm.kb_account_id, pm.kb_payment_method_id)
47
- pm_details.external_payment_method_id.should == pm.stripe_card_id_or_token
48
+ pm_details = @plugin.get_payment_method_detail(pm.kb_account_id, pm.kb_payment_method_id, [], @call_context)
49
+ pm_details.external_payment_method_id.should == pm.token
48
50
 
49
- pms_found = @plugin.search_payment_methods pm.cc_last_4
51
+ pms_found = @plugin.search_payment_methods pm.cc_last_4, 0, 10, [], @call_context
50
52
  pms_found = pms_found.iterator.to_a
51
- pms_found.size.should == 1
52
- pms_found.first.external_payment_method_id.should == pm_details.external_payment_method_id
53
+ pms_found.size.should == 2
54
+ pms_found[1].external_payment_method_id.should == pm_details.external_payment_method_id
53
55
 
54
- @plugin.delete_payment_method(pm.kb_account_id, pm.kb_payment_method_id)
56
+ @plugin.delete_payment_method(pm.kb_account_id, pm.kb_payment_method_id, [], @call_context)
55
57
 
56
- @plugin.get_payment_methods(pm.kb_account_id).size.should == 0
57
- lambda { @plugin.get_payment_method_detail(pm.kb_account_id, pm.kb_payment_method_id) }.should raise_error RuntimeError
58
+ @plugin.get_payment_methods(pm.kb_account_id, false, [], @call_context).size.should == 0
59
+ lambda { @plugin.get_payment_method_detail(pm.kb_account_id, pm.kb_payment_method_id, [], @call_context) }.should raise_error RuntimeError
58
60
 
59
61
  # Verify we can add multiple payment methods
60
- pm1 = create_payment_method(pm.kb_account_id)
61
- pm2 = create_payment_method(pm.kb_account_id)
62
+ pm1 = create_payment_method(::Killbill::Stripe::StripePaymentMethod, pm.kb_account_id, @call_context.tenant_id)
63
+ pm2 = create_payment_method(::Killbill::Stripe::StripePaymentMethod, pm.kb_account_id, @call_context.tenant_id)
62
64
 
63
- pms = @plugin.get_payment_methods(pm.kb_account_id)
65
+ pms = @plugin.get_payment_methods(pm.kb_account_id, false, [], @call_context)
64
66
  pms.size.should == 2
65
- pms[0].external_payment_method_id.should == pm1.stripe_card_id_or_token
66
- pms[1].external_payment_method_id.should == pm2.stripe_card_id_or_token
67
+ pms[0].external_payment_method_id.should == pm1.token
68
+ pms[1].external_payment_method_id.should == pm2.token
67
69
  end
68
70
 
69
- it 'should be able to charge and refund' do
70
- pm = create_payment_method
71
- amount = BigDecimal.new("100")
72
- currency = 'USD'
73
- kb_payment_id = SecureRandom.uuid
74
-
75
- payment_response = @plugin.process_payment pm.kb_account_id, kb_payment_id, pm.kb_payment_method_id, amount, currency
76
- payment_response.amount.should == amount
77
- payment_response.status.should == :PROCESSED
78
-
79
- # Verify our table directly
80
- response = Killbill::Stripe::StripeResponse.find_by_api_call_and_kb_payment_id :charge, kb_payment_id
81
- response.test.should be_true
82
- response.success.should be_true
83
- response.message.should == 'Transaction approved'
84
-
85
- payment_response = @plugin.get_payment_info pm.kb_account_id, kb_payment_id
86
- payment_response.amount.should == amount
87
- payment_response.status.should == :PROCESSED
88
-
89
- # Check we cannot refund an amount greater than the original charge
90
- lambda { @plugin.process_refund pm.kb_account_id, kb_payment_id, amount + 1, currency }.should raise_error RuntimeError
91
-
92
- refund_response = @plugin.process_refund pm.kb_account_id, kb_payment_id, amount, currency
93
- refund_response.amount.should == amount
94
- refund_response.status.should == :PROCESSED
95
-
96
- # Verify our table directly
97
- response = Killbill::Stripe::StripeResponse.find_by_api_call_and_kb_payment_id :refund, kb_payment_id
98
- response.test.should be_true
99
- response.success.should be_true
100
-
101
- # Check we can retrieve the refund
102
- refund_responses = @plugin.get_refund_info pm.kb_account_id, kb_payment_id
103
- refund_responses.size.should == 1
104
- # Apparently, Stripe returns positive amounts for refunds
105
- refund_responses[0].amount.should == amount
106
- refund_responses[0].status.should == :PROCESSED
107
-
108
- # Make sure we can charge again the same payment method
109
- second_amount = BigDecimal.new("294.71")
110
- second_kb_payment_id = SecureRandom.uuid
111
-
112
- payment_response = @plugin.process_payment pm.kb_account_id, second_kb_payment_id, pm.kb_payment_method_id, second_amount, currency
113
- payment_response.amount.should == second_amount
114
- payment_response.status.should == :PROCESSED
71
+ it 'should be able to charge a Credit Card directly' do
72
+ properties = build_pm_properties
73
+
74
+ # We created the payment methods, hence the rows
75
+ max_response_id = Killbill::Stripe::StripeResponse.all.last.id
76
+ Killbill::Stripe::StripeTransaction.all.size.should == 0
77
+
78
+ payment_response = @plugin.purchase_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[0].id, @pm.kb_payment_method_id, @amount, @currency, properties, @call_context)
79
+ payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
80
+ payment_response.amount.should == @amount
81
+ payment_response.transaction_type.should == :PURCHASE
82
+
83
+ responses = Killbill::Stripe::StripeResponse.all
84
+ responses.size.should == max_response_id + 1
85
+ responses[max_response_id].api_call.should == 'purchase'
86
+ responses[max_response_id].message.should == 'Transaction approved'
87
+ transactions = Killbill::Stripe::StripeTransaction.all
88
+ transactions.size.should == 1
89
+ transactions[0].api_call.should == 'purchase'
115
90
  end
116
91
 
117
- private
118
-
119
- def create_payment_method(kb_account_id=nil)
120
- kb_payment_method_id = SecureRandom.uuid
121
-
122
- if kb_account_id.nil?
123
- kb_account_id = SecureRandom.uuid
124
-
125
- # Create a new account
126
- create_kb_account kb_account_id
127
- end
128
-
129
- # Generate a token in Stripe
130
- cc_number = '4242424242424242'
131
- cc_first_name = 'John'
132
- cc_last_name = 'Doe'
133
- cc_type = 'Visa'
134
- cc_exp_month = 12
135
- cc_exp_year = 2015
136
- cc_last_4 = 4242
137
- address1 = '5, oakriu road'
138
- address2 = 'apt. 298'
139
- city = 'Gdio Foia'
140
- state = 'FL'
141
- zip = 49302
142
- country = 'IFP'
143
- cc_verification_value = 1234
144
-
145
- properties = []
146
- properties << create_pm_kv_info('ccNumber', cc_number)
147
- properties << create_pm_kv_info('ccFirstName', cc_first_name)
148
- properties << create_pm_kv_info('ccLastName', cc_last_name)
149
- properties << create_pm_kv_info('ccType', cc_type)
150
- properties << create_pm_kv_info('ccExpirationMonth', cc_exp_month)
151
- properties << create_pm_kv_info('ccExpirationYear', cc_exp_year)
152
- properties << create_pm_kv_info('ccLast4', cc_last_4)
153
- properties << create_pm_kv_info('address1', address1)
154
- properties << create_pm_kv_info('address2', address2)
155
- properties << create_pm_kv_info('city', city)
156
- properties << create_pm_kv_info('state', state)
157
- properties << create_pm_kv_info('zip', zip)
158
- properties << create_pm_kv_info('country', country)
159
- properties << create_pm_kv_info('ccVerificationValue', cc_verification_value)
160
-
161
- info = Killbill::Plugin::Model::PaymentMethodPlugin.new
162
- info.properties = properties
163
- payment_method = @plugin.add_payment_method(kb_account_id, kb_payment_method_id, info, true)
164
-
165
- pm = Killbill::Stripe::StripePaymentMethod.from_kb_payment_method_id kb_payment_method_id
166
- pm.should == payment_method
167
- pm.kb_account_id.should == kb_account_id
168
- pm.kb_payment_method_id.should == kb_payment_method_id
169
- pm.stripe_card_id_or_token.should_not be_nil
170
- pm.cc_first_name.should == cc_first_name + ' ' + cc_last_name
171
- pm.cc_last_name.should be_nil
172
- pm.cc_type.should == cc_type
173
- pm.cc_exp_month.should == cc_exp_month
174
- pm.cc_exp_year.should == cc_exp_year
175
- pm.cc_last_4.should == cc_last_4
176
- pm.address1.should == address1
177
- pm.address2.should == address2
178
- pm.city.should == city
179
- pm.state.should == state
180
- pm.zip.should == zip.to_s
181
- pm.country.should == country
182
-
183
- pm
92
+ it 'should be able to charge and refund' do
93
+ payment_response = @plugin.purchase_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[0].id, @pm.kb_payment_method_id, @amount, @currency, @properties, @call_context)
94
+ payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
95
+ payment_response.amount.should == @amount
96
+ payment_response.transaction_type.should == :PURCHASE
97
+
98
+ # Try a full refund
99
+ refund_response = @plugin.refund_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[1].id, @pm.kb_payment_method_id, @amount, @currency, @properties, @call_context)
100
+ refund_response.status.should eq(:PROCESSED), refund_response.gateway_error
101
+ refund_response.amount.should == @amount
102
+ refund_response.transaction_type.should == :REFUND
184
103
  end
185
104
 
186
- def create_kb_account(kb_account_id)
187
- external_key = Time.now.to_i.to_s + '-test'
188
- email = external_key + '@tester.com'
189
-
190
- account = Killbill::Plugin::Model::Account.new
191
- account.id = kb_account_id
192
- account.external_key = external_key
193
- account.email = email
194
- account.name = 'Integration spec'
195
- account.currency = :USD
196
-
197
- @account_api.accounts << account
198
-
199
- return external_key, kb_account_id
105
+ # It doesn't look like Stripe supports multiple partial captures
106
+ #it 'should be able to auth, capture and refund' do
107
+ # payment_response = @plugin.authorize_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[0].id, @pm.kb_payment_method_id, @amount, @currency, @properties, @call_context)
108
+ # payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
109
+ # payment_response.amount.should == @amount
110
+ # payment_response.transaction_type.should == :AUTHORIZE
111
+ #
112
+ # # Try multiple partial captures
113
+ # partial_capture_amount = BigDecimal.new('10')
114
+ # 1.upto(3) do |i|
115
+ # payment_response = @plugin.capture_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[i].id, @pm.kb_payment_method_id, partial_capture_amount, @currency, @properties, @call_context)
116
+ # payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
117
+ # payment_response.amount.should == partial_capture_amount
118
+ # payment_response.transaction_type.should == :CAPTURE
119
+ # end
120
+ #
121
+ # # Try a partial refund
122
+ # refund_response = @plugin.refund_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[4].id, @pm.kb_payment_method_id, partial_capture_amount, @currency, @properties, @call_context)
123
+ # refund_response.status.should eq(:PROCESSED), refund_response.gateway_error
124
+ # refund_response.amount.should == partial_capture_amount
125
+ # refund_response.transaction_type.should == :REFUND
126
+ #
127
+ # # Try to capture again
128
+ # payment_response = @plugin.capture_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[5].id, @pm.kb_payment_method_id, partial_capture_amount, @currency, @properties, @call_context)
129
+ # payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
130
+ # payment_response.amount.should == partial_capture_amount
131
+ # payment_response.transaction_type.should == :CAPTURE
132
+ #end
133
+
134
+ it 'should be able to auth and void' do
135
+ payment_response = @plugin.authorize_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[0].id, @pm.kb_payment_method_id, @amount, @currency, @properties, @call_context)
136
+ payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
137
+ payment_response.amount.should == @amount
138
+ payment_response.transaction_type.should == :AUTHORIZE
139
+
140
+ payment_response = @plugin.void_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[1].id, @pm.kb_payment_method_id, @properties, @call_context)
141
+ payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
142
+ payment_response.transaction_type.should == :VOID
200
143
  end
201
144
 
202
- def create_pm_kv_info(key, value)
203
- prop = Killbill::Plugin::Model::PaymentMethodKVInfo.new
204
- prop.key = key
205
- prop.value = value
206
- prop
145
+ it 'should be able to auth, partial capture and void' do
146
+ payment_response = @plugin.authorize_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[0].id, @pm.kb_payment_method_id, @amount, @currency, @properties, @call_context)
147
+ payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
148
+ payment_response.amount.should == @amount
149
+ payment_response.transaction_type.should == :AUTHORIZE
150
+
151
+ partial_capture_amount = BigDecimal.new('10')
152
+ payment_response = @plugin.capture_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[1].id, @pm.kb_payment_method_id, partial_capture_amount, @currency, @properties, @call_context)
153
+ payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
154
+ payment_response.amount.should == partial_capture_amount
155
+ payment_response.transaction_type.should == :CAPTURE
156
+
157
+ payment_response = @plugin.void_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[2].id, @pm.kb_payment_method_id, @properties, @call_context)
158
+ payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
159
+ payment_response.transaction_type.should == :VOID
207
160
  end
208
161
  end
data/stripe.yml ADDED
@@ -0,0 +1,21 @@
1
+ :stripe:
2
+ :api_secret_key: ''
3
+ :api_publishable_key: ''
4
+ :log_file: '/var/tmp/stripe.log'
5
+ :test: true
6
+
7
+ :database:
8
+ :adapter: sqlite3
9
+ :database: test.db
10
+ # For MySQL
11
+ # :adapter: 'jdbcmysql'
12
+ # :username: 'killbill'
13
+ # :password: 'killbill'
14
+ # :driver: 'com.mysql.jdbc.Driver'
15
+ # :url: 'jdbc:mysql://127.0.0.1:3306/killbill'
16
+ # In Kill Bill
17
+ # :adapter: 'jdbcmysql'
18
+ # :jndi: 'killbill/osgi/jdbc'
19
+ # :driver: 'com.mysql.jdbc.Driver'
20
+ # :connection_alive_sql: 'select 1'
21
+ # :pool: 250
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill-stripe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kill Bill core team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-13 00:00:00.000000000 Z
11
+ date: 2014-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: killbill
@@ -16,12 +16,12 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
19
+ version: 3.1.12
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - ~>
23
23
  - !ruby/object:Gem::Version
24
- version: 3.0.0
24
+ version: 3.1.12
25
25
  prerelease: false
26
26
  type: :runtime
27
27
  - !ruby/object:Gem::Dependency
@@ -30,12 +30,26 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 1.42.3
33
+ version: 1.44.1
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ~>
37
37
  - !ruby/object:Gem::Version
38
- version: 1.42.3
38
+ version: 1.44.1
39
+ prerelease: false
40
+ type: :runtime
41
+ - !ruby/object:Gem::Dependency
42
+ name: offsite_payments
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 2.0.1
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ~>
51
+ - !ruby/object:Gem::Version
52
+ version: 2.0.1
39
53
  prerelease: false
40
54
  type: :runtime
41
55
  - !ruby/object:Gem::Dependency
@@ -44,12 +58,54 @@ dependencies:
44
58
  requirements:
45
59
  - - ~>
46
60
  - !ruby/object:Gem::Version
47
- version: 3.2.1
61
+ version: 4.1.0
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: 4.1.0
67
+ prerelease: false
68
+ type: :runtime
69
+ - !ruby/object:Gem::Dependency
70
+ name: actionpack
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 4.1.0
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ~>
79
+ - !ruby/object:Gem::Version
80
+ version: 4.1.0
81
+ prerelease: false
82
+ type: :runtime
83
+ - !ruby/object:Gem::Dependency
84
+ name: actionview
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 4.1.0
48
90
  requirement: !ruby/object:Gem::Requirement
49
91
  requirements:
50
92
  - - ~>
51
93
  - !ruby/object:Gem::Version
52
- version: 3.2.1
94
+ version: 4.1.0
95
+ prerelease: false
96
+ type: :runtime
97
+ - !ruby/object:Gem::Dependency
98
+ name: activesupport
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 4.1.0
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ~>
107
+ - !ruby/object:Gem::Version
108
+ version: 4.1.0
53
109
  prerelease: false
54
110
  type: :runtime
55
111
  - !ruby/object:Gem::Dependency
@@ -58,12 +114,26 @@ dependencies:
58
114
  requirements:
59
115
  - - ~>
60
116
  - !ruby/object:Gem::Version
61
- version: 6.0.0
117
+ version: 6.1.1
62
118
  requirement: !ruby/object:Gem::Requirement
63
119
  requirements:
64
120
  - - ~>
65
121
  - !ruby/object:Gem::Version
66
- version: 6.0.0
122
+ version: 6.1.1
123
+ prerelease: false
124
+ type: :runtime
125
+ - !ruby/object:Gem::Dependency
126
+ name: monetize
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: 0.3.0
132
+ requirement: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ~>
135
+ - !ruby/object:Gem::Version
136
+ version: 0.3.0
67
137
  prerelease: false
68
138
  type: :runtime
69
139
  - !ruby/object:Gem::Dependency
@@ -86,12 +156,26 @@ dependencies:
86
156
  requirements:
87
157
  - - ~>
88
158
  - !ruby/object:Gem::Version
89
- version: 1.2.9
159
+ version: 1.3.7
160
+ requirement: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ~>
163
+ - !ruby/object:Gem::Version
164
+ version: 1.3.7
165
+ prerelease: false
166
+ type: :runtime
167
+ - !ruby/object:Gem::Dependency
168
+ name: jruby-openssl
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: 0.9.4
90
174
  requirement: !ruby/object:Gem::Requirement
91
175
  requirements:
92
176
  - - ~>
93
177
  - !ruby/object:Gem::Version
94
- version: 1.2.9
178
+ version: 0.9.4
95
179
  prerelease: false
96
180
  type: :runtime
97
181
  - !ruby/object:Gem::Dependency
@@ -142,12 +226,12 @@ dependencies:
142
226
  requirements:
143
227
  - - ~>
144
228
  - !ruby/object:Gem::Version
145
- version: 1.2.6
229
+ version: 1.3.7
146
230
  requirement: !ruby/object:Gem::Requirement
147
231
  requirements:
148
232
  - - ~>
149
233
  - !ruby/object:Gem::Version
150
- version: 1.2.6
234
+ version: 1.3.7
151
235
  prerelease: false
152
236
  type: :development
153
237
  description: Kill Bill payment plugin for Stripe.
@@ -160,6 +244,7 @@ files:
160
244
  - .travis.yml
161
245
  - Gemfile
162
246
  - Jarfile
247
+ - LICENSE
163
248
  - NEWS
164
249
  - README.md
165
250
  - Rakefile
@@ -171,23 +256,18 @@ files:
171
256
  - killbill.properties
172
257
  - lib/stripe.rb
173
258
  - lib/stripe/api.rb
174
- - lib/stripe/config/application.rb
175
- - lib/stripe/config/configuration.rb
176
- - lib/stripe/config/properties.rb
177
- - lib/stripe/models/stripe_payment_method.rb
178
- - lib/stripe/models/stripe_response.rb
179
- - lib/stripe/models/stripe_transaction.rb
259
+ - lib/stripe/application.rb
260
+ - lib/stripe/models/payment_method.rb
261
+ - lib/stripe/models/response.rb
262
+ - lib/stripe/models/transaction.rb
180
263
  - lib/stripe/private_api.rb
181
- - lib/stripe/stripe/gateway.rb
182
- - lib/stripe/stripe_utils.rb
183
264
  - lib/stripe/views/stripejs.erb
184
265
  - pom.xml
185
266
  - release.sh
186
267
  - spec/spec_helper.rb
187
268
  - spec/stripe/base_plugin_spec.rb
188
269
  - spec/stripe/remote/integration_spec.rb
189
- - spec/stripe/stripe_payment_method_spec.rb
190
- - spec/stripe/stripe_response_spec.rb
270
+ - stripe.yml
191
271
  homepage: http://kill-bill.org
192
272
  licenses:
193
273
  - Apache License (2.0)
@@ -218,5 +298,3 @@ test_files:
218
298
  - spec/spec_helper.rb
219
299
  - spec/stripe/base_plugin_spec.rb
220
300
  - spec/stripe/remote/integration_spec.rb
221
- - spec/stripe/stripe_payment_method_spec.rb
222
- - spec/stripe/stripe_response_spec.rb