killbill-cybersource 0.0.4 → 1.0.0
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 +4 -4
- data/.gitignore +4 -5
- data/.travis.yml +22 -3
- data/Gemfile +1 -3
- data/Gemfile.head +5 -0
- data/Gemfile.lock +129 -0
- data/Jarfile +9 -8
- data/Jarfile.lock +58 -0
- data/LICENSE +2 -2
- data/NEWS +3 -0
- data/README.md +123 -1
- data/VERSION +1 -1
- data/cybersource.yml +28 -7
- data/db/ddl.sql +9 -7
- data/db/schema.rb +12 -9
- data/killbill-cybersource.gemspec +18 -14
- data/lib/cybersource.rb +2 -0
- data/lib/cybersource/api.rb +33 -1
- data/lib/cybersource/application.rb +4 -8
- data/lib/cybersource/models/response.rb +14 -1
- data/lib/cybersource/private_api.rb +7 -0
- data/pom.xml +2 -2
- data/release.sh +34 -14
- data/spec/cybersource/base_plugin_spec.rb +5 -5
- data/spec/cybersource/remote/integration_spec.rb +38 -29
- metadata +82 -40
@@ -1,9 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Killbill::Cybersource::PaymentPlugin do
|
4
|
+
|
5
|
+
include ::Killbill::Plugin::ActiveMerchant::RSpec
|
6
|
+
|
4
7
|
before(:each) do
|
5
8
|
Dir.mktmpdir do |dir|
|
6
|
-
file = File.new(File.join(dir, 'cybersource.yml'),
|
9
|
+
file = File.new(File.join(dir, 'cybersource.yml'), 'w+')
|
7
10
|
file.write(<<-eos)
|
8
11
|
:cybersource:
|
9
12
|
:test: true
|
@@ -14,10 +17,7 @@ describe Killbill::Cybersource::PaymentPlugin do
|
|
14
17
|
eos
|
15
18
|
file.close
|
16
19
|
|
17
|
-
@plugin = Killbill::Cybersource::PaymentPlugin.
|
18
|
-
@plugin.logger = Logger.new(STDOUT)
|
19
|
-
@plugin.logger.level = Logger::INFO
|
20
|
-
@plugin.conf_dir = File.dirname(file)
|
20
|
+
@plugin = build_plugin(::Killbill::Cybersource::PaymentPlugin, 'cybersource', File.dirname(file))
|
21
21
|
|
22
22
|
# Start the plugin here - since the config file will be deleted
|
23
23
|
@plugin.start_plugin
|
@@ -7,30 +7,23 @@ describe Killbill::Cybersource::PaymentPlugin do
|
|
7
7
|
include ::Killbill::Plugin::ActiveMerchant::RSpec
|
8
8
|
|
9
9
|
before(:each) do
|
10
|
-
|
10
|
+
::Killbill::Cybersource::CybersourcePaymentMethod.delete_all
|
11
|
+
::Killbill::Cybersource::CybersourceResponse.delete_all
|
12
|
+
::Killbill::Cybersource::CybersourceTransaction.delete_all
|
11
13
|
|
12
|
-
@
|
13
|
-
@payment_api = ::Killbill::Plugin::ActiveMerchant::RSpec::FakeJavaPaymentApi.new
|
14
|
-
svcs = {:account_user_api => @account_api, :payment_api => @payment_api}
|
15
|
-
@plugin.kb_apis = Killbill::Plugin::KillbillApi.new('cybersource', svcs)
|
16
|
-
|
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)
|
22
|
-
@plugin.logger.level = Logger::INFO
|
23
|
-
@plugin.conf_dir = File.expand_path(File.dirname(__FILE__) + '../../../../')
|
14
|
+
@plugin = build_plugin(::Killbill::Cybersource::PaymentPlugin, 'cybersource')
|
24
15
|
@plugin.start_plugin
|
25
16
|
|
26
|
-
@
|
17
|
+
@call_context = build_call_context
|
18
|
+
|
19
|
+
@properties = []
|
20
|
+
@pm = create_payment_method(::Killbill::Cybersource::CybersourcePaymentMethod, nil, @call_context.tenant_id, @properties)
|
27
21
|
@amount = BigDecimal.new('100')
|
28
22
|
@currency = 'USD'
|
29
|
-
@properties = []
|
30
23
|
|
31
24
|
kb_payment_id = SecureRandom.uuid
|
32
25
|
1.upto(6) do
|
33
|
-
@kb_payment = @payment_api.add_payment(kb_payment_id)
|
26
|
+
@kb_payment = @plugin.kb_apis.proxied_services[:payment_api].add_payment(kb_payment_id)
|
34
27
|
end
|
35
28
|
end
|
36
29
|
|
@@ -39,14 +32,19 @@ describe Killbill::Cybersource::PaymentPlugin do
|
|
39
32
|
end
|
40
33
|
|
41
34
|
it 'should be able to charge a Credit Card directly and calls should be idempotent' do
|
35
|
+
properties = build_pm_properties
|
36
|
+
|
42
37
|
# We created the payment method, hence the rows
|
43
38
|
Killbill::Cybersource::CybersourceResponse.all.size.should == 1
|
44
39
|
Killbill::Cybersource::CybersourceTransaction.all.size.should == 0
|
45
40
|
|
46
|
-
payment_response = @plugin.purchase_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[0].id, @pm.kb_payment_method_id, @amount, @currency,
|
41
|
+
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)
|
42
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
47
43
|
payment_response.amount.should == @amount
|
48
|
-
payment_response.status.should == :PROCESSED
|
49
44
|
payment_response.transaction_type.should == :PURCHASE
|
45
|
+
payment_response.first_payment_reference_id.should_not be_nil
|
46
|
+
payment_response.second_payment_reference_id.should_not be_nil
|
47
|
+
payment_response.gateway_error_code.should_not be_nil
|
50
48
|
|
51
49
|
responses = Killbill::Cybersource::CybersourceResponse.all
|
52
50
|
responses.size.should == 2
|
@@ -62,6 +60,10 @@ describe Killbill::Cybersource::PaymentPlugin do
|
|
62
60
|
payment_response.amount.should == @amount
|
63
61
|
payment_response.status.should == :PROCESSED
|
64
62
|
payment_response.transaction_type.should == :PURCHASE
|
63
|
+
# No extra data when handling dups - use the get API to retrieve the details (what Kill Bill does internally too)
|
64
|
+
payment_response.first_payment_reference_id.should be_nil
|
65
|
+
payment_response.second_payment_reference_id.should be_nil
|
66
|
+
payment_response.gateway_error_code.should be_nil
|
65
67
|
|
66
68
|
responses = Killbill::Cybersource::CybersourceResponse.all
|
67
69
|
responses.size.should == 3
|
@@ -81,70 +83,77 @@ describe Killbill::Cybersource::PaymentPlugin do
|
|
81
83
|
|
82
84
|
it 'should be able to charge and refund' do
|
83
85
|
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)
|
86
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
84
87
|
payment_response.amount.should == @amount
|
85
|
-
payment_response.status.should == :PROCESSED
|
86
88
|
payment_response.transaction_type.should == :PURCHASE
|
87
89
|
|
88
90
|
# Try a full refund
|
89
91
|
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)
|
92
|
+
refund_response.status.should eq(:PROCESSED), refund_response.gateway_error
|
90
93
|
refund_response.amount.should == @amount
|
91
|
-
refund_response.status.should == :PROCESSED
|
92
94
|
refund_response.transaction_type.should == :REFUND
|
93
95
|
end
|
94
96
|
|
95
97
|
it 'should be able to auth, capture and refund' do
|
96
98
|
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)
|
99
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
97
100
|
payment_response.amount.should == @amount
|
98
|
-
payment_response.status.should == :PROCESSED
|
99
101
|
payment_response.transaction_type.should == :AUTHORIZE
|
100
102
|
|
101
103
|
# Try multiple partial captures
|
102
104
|
partial_capture_amount = BigDecimal.new('10')
|
103
105
|
1.upto(3) do |i|
|
104
106
|
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)
|
107
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
105
108
|
payment_response.amount.should == partial_capture_amount
|
106
|
-
payment_response.status.should == :PROCESSED
|
107
109
|
payment_response.transaction_type.should == :CAPTURE
|
108
110
|
end
|
109
111
|
|
110
112
|
# Try a partial refund
|
111
113
|
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)
|
114
|
+
refund_response.status.should eq(:PROCESSED), refund_response.gateway_error
|
112
115
|
refund_response.amount.should == partial_capture_amount
|
113
|
-
refund_response.status.should == :PROCESSED
|
114
116
|
refund_response.transaction_type.should == :REFUND
|
115
117
|
|
116
118
|
# Try to capture again
|
117
119
|
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)
|
120
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
118
121
|
payment_response.amount.should == partial_capture_amount
|
119
|
-
payment_response.status.should == :PROCESSED
|
120
122
|
payment_response.transaction_type.should == :CAPTURE
|
121
123
|
end
|
122
124
|
|
123
125
|
it 'should be able to auth and void' do
|
124
126
|
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)
|
127
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
125
128
|
payment_response.amount.should == @amount
|
126
|
-
payment_response.status.should == :PROCESSED
|
127
129
|
payment_response.transaction_type.should == :AUTHORIZE
|
128
130
|
|
129
131
|
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)
|
130
|
-
payment_response.status.should
|
132
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
131
133
|
payment_response.transaction_type.should == :VOID
|
132
134
|
end
|
133
135
|
|
134
136
|
it 'should be able to auth, partial capture and void' do
|
135
137
|
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)
|
138
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
136
139
|
payment_response.amount.should == @amount
|
137
|
-
payment_response.status.should == :PROCESSED
|
138
140
|
payment_response.transaction_type.should == :AUTHORIZE
|
139
141
|
|
140
142
|
partial_capture_amount = BigDecimal.new('10')
|
141
143
|
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)
|
144
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
142
145
|
payment_response.amount.should == partial_capture_amount
|
143
|
-
payment_response.status.should == :PROCESSED
|
144
146
|
payment_response.transaction_type.should == :CAPTURE
|
145
147
|
|
146
148
|
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)
|
147
|
-
payment_response.status.should
|
149
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
148
150
|
payment_response.transaction_type.should == :VOID
|
149
151
|
end
|
152
|
+
|
153
|
+
it 'should be able to credit' do
|
154
|
+
payment_response = @plugin.credit_payment(@pm.kb_account_id, @kb_payment.id, @kb_payment.transactions[0].id, @pm.kb_payment_method_id, @amount, @currency, @properties, @call_context)
|
155
|
+
payment_response.status.should eq(:PROCESSED), payment_response.gateway_error
|
156
|
+
payment_response.amount.should == @amount
|
157
|
+
payment_response.transaction_type.should == :CREDIT
|
158
|
+
end
|
150
159
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: killbill-cybersource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.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:
|
11
|
+
date: 2015-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: killbill
|
@@ -16,26 +16,40 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.0.0
|
20
20
|
requirement: !ruby/object:Gem::Requirement
|
21
21
|
requirements:
|
22
22
|
- - ~>
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version:
|
24
|
+
version: 4.0.0
|
25
25
|
prerelease: false
|
26
26
|
type: :runtime
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: sinatra
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.3.4
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ~>
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: 1.3.4
|
39
|
+
prerelease: false
|
40
|
+
type: :runtime
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: thread_safe
|
29
43
|
version_requirements: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
45
|
- - ~>
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
47
|
+
version: 0.3.4
|
34
48
|
requirement: !ruby/object:Gem::Requirement
|
35
49
|
requirements:
|
36
50
|
- - ~>
|
37
51
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
52
|
+
version: 0.3.4
|
39
53
|
prerelease: false
|
40
54
|
type: :runtime
|
41
55
|
- !ruby/object:Gem::Dependency
|
@@ -53,35 +67,49 @@ dependencies:
|
|
53
67
|
prerelease: false
|
54
68
|
type: :runtime
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
70
|
+
name: activerecord-bogacs
|
57
71
|
version_requirements: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - ~>
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
75
|
+
version: '0.3'
|
62
76
|
requirement: !ruby/object:Gem::Requirement
|
63
77
|
requirements:
|
64
78
|
- - ~>
|
65
79
|
- !ruby/object:Gem::Version
|
66
|
-
version:
|
80
|
+
version: '0.3'
|
67
81
|
prerelease: false
|
68
82
|
type: :runtime
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
84
|
+
name: activerecord-jdbc-adapter
|
71
85
|
version_requirements: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - ~>
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
89
|
+
version: '1.3'
|
76
90
|
requirement: !ruby/object:Gem::Requirement
|
77
91
|
requirements:
|
78
92
|
- - ~>
|
79
93
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
94
|
+
version: '1.3'
|
95
|
+
prerelease: false
|
96
|
+
type: :runtime
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: jruby-openssl
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.9.6
|
104
|
+
requirement: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ~>
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 0.9.6
|
81
109
|
prerelease: false
|
82
110
|
type: :runtime
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
112
|
+
name: actionpack
|
85
113
|
version_requirements: !ruby/object:Gem::Requirement
|
86
114
|
requirements:
|
87
115
|
- - ~>
|
@@ -95,73 +123,73 @@ dependencies:
|
|
95
123
|
prerelease: false
|
96
124
|
type: :runtime
|
97
125
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
126
|
+
name: actionview
|
99
127
|
version_requirements: !ruby/object:Gem::Requirement
|
100
128
|
requirements:
|
101
129
|
- - ~>
|
102
130
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
131
|
+
version: 4.1.0
|
104
132
|
requirement: !ruby/object:Gem::Requirement
|
105
133
|
requirements:
|
106
134
|
- - ~>
|
107
135
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
136
|
+
version: 4.1.0
|
109
137
|
prerelease: false
|
110
138
|
type: :runtime
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
140
|
+
name: activemerchant
|
113
141
|
version_requirements: !ruby/object:Gem::Requirement
|
114
142
|
requirements:
|
115
143
|
- - ~>
|
116
144
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
145
|
+
version: 1.48.0
|
118
146
|
requirement: !ruby/object:Gem::Requirement
|
119
147
|
requirements:
|
120
148
|
- - ~>
|
121
149
|
- !ruby/object:Gem::Version
|
122
|
-
version:
|
150
|
+
version: 1.48.0
|
123
151
|
prerelease: false
|
124
152
|
type: :runtime
|
125
153
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
154
|
+
name: offsite_payments
|
127
155
|
version_requirements: !ruby/object:Gem::Requirement
|
128
156
|
requirements:
|
129
157
|
- - ~>
|
130
158
|
- !ruby/object:Gem::Version
|
131
|
-
version: 1.
|
159
|
+
version: 2.1.0
|
132
160
|
requirement: !ruby/object:Gem::Requirement
|
133
161
|
requirements:
|
134
162
|
- - ~>
|
135
163
|
- !ruby/object:Gem::Version
|
136
|
-
version: 1.
|
164
|
+
version: 2.1.0
|
137
165
|
prerelease: false
|
138
166
|
type: :runtime
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
168
|
+
name: monetize
|
141
169
|
version_requirements: !ruby/object:Gem::Requirement
|
142
170
|
requirements:
|
143
171
|
- - ~>
|
144
172
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.
|
173
|
+
version: 1.1.0
|
146
174
|
requirement: !ruby/object:Gem::Requirement
|
147
175
|
requirements:
|
148
176
|
- - ~>
|
149
177
|
- !ruby/object:Gem::Version
|
150
|
-
version: 1.
|
178
|
+
version: 1.1.0
|
151
179
|
prerelease: false
|
152
180
|
type: :runtime
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
182
|
+
name: money
|
155
183
|
version_requirements: !ruby/object:Gem::Requirement
|
156
184
|
requirements:
|
157
185
|
- - ~>
|
158
186
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
187
|
+
version: 6.5.1
|
160
188
|
requirement: !ruby/object:Gem::Requirement
|
161
189
|
requirements:
|
162
190
|
- - ~>
|
163
191
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
192
|
+
version: 6.5.1
|
165
193
|
prerelease: false
|
166
194
|
type: :runtime
|
167
195
|
- !ruby/object:Gem::Dependency
|
@@ -170,12 +198,12 @@ dependencies:
|
|
170
198
|
requirements:
|
171
199
|
- - ~>
|
172
200
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.4.
|
201
|
+
version: 0.4.3
|
174
202
|
requirement: !ruby/object:Gem::Requirement
|
175
203
|
requirements:
|
176
204
|
- - ~>
|
177
205
|
- !ruby/object:Gem::Version
|
178
|
-
version: 0.4.
|
206
|
+
version: 0.4.3
|
179
207
|
prerelease: false
|
180
208
|
type: :development
|
181
209
|
- !ruby/object:Gem::Dependency
|
@@ -207,17 +235,31 @@ dependencies:
|
|
207
235
|
prerelease: false
|
208
236
|
type: :development
|
209
237
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
238
|
+
name: jdbc-sqlite3
|
211
239
|
version_requirements: !ruby/object:Gem::Requirement
|
212
240
|
requirements:
|
213
241
|
- - ~>
|
214
242
|
- !ruby/object:Gem::Version
|
215
|
-
version:
|
243
|
+
version: '3.7'
|
216
244
|
requirement: !ruby/object:Gem::Requirement
|
217
245
|
requirements:
|
218
246
|
- - ~>
|
219
247
|
- !ruby/object:Gem::Version
|
220
|
-
version:
|
248
|
+
version: '3.7'
|
249
|
+
prerelease: false
|
250
|
+
type: :development
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: jdbc-mariadb
|
253
|
+
version_requirements: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ~>
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '1.1'
|
258
|
+
requirement: !ruby/object:Gem::Requirement
|
259
|
+
requirements:
|
260
|
+
- - ~>
|
261
|
+
- !ruby/object:Gem::Version
|
262
|
+
version: '1.1'
|
221
263
|
prerelease: false
|
222
264
|
type: :development
|
223
265
|
description: Kill Bill payment plugin for Cybersource.
|
@@ -229,7 +271,10 @@ files:
|
|
229
271
|
- .gitignore
|
230
272
|
- .travis.yml
|
231
273
|
- Gemfile
|
274
|
+
- Gemfile.head
|
275
|
+
- Gemfile.lock
|
232
276
|
- Jarfile
|
277
|
+
- Jarfile.lock
|
233
278
|
- LICENSE
|
234
279
|
- NEWS
|
235
280
|
- README.md
|
@@ -255,7 +300,7 @@ files:
|
|
255
300
|
- spec/cybersource/base_plugin_spec.rb
|
256
301
|
- spec/cybersource/remote/integration_spec.rb
|
257
302
|
- spec/spec_helper.rb
|
258
|
-
homepage: http://
|
303
|
+
homepage: http://killbill.io
|
259
304
|
licenses:
|
260
305
|
- Apache License (2.0)
|
261
306
|
metadata: {}
|
@@ -277,11 +322,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
277
322
|
version: '0'
|
278
323
|
requirements: []
|
279
324
|
rubyforge_project:
|
280
|
-
rubygems_version: 2.
|
325
|
+
rubygems_version: 2.1.9
|
281
326
|
signing_key:
|
282
327
|
specification_version: 4
|
283
328
|
summary: Plugin to use Cybersource as a gateway.
|
284
|
-
test_files:
|
285
|
-
- spec/cybersource/base_plugin_spec.rb
|
286
|
-
- spec/cybersource/remote/integration_spec.rb
|
287
|
-
- spec/spec_helper.rb
|
329
|
+
test_files: []
|