activemerchant 1.31.1 → 1.32.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG +25 -0
  3. data/CONTRIBUTORS +8 -0
  4. data/README.md +2 -0
  5. data/lib/active_merchant/billing/credit_card.rb +1 -1
  6. data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +2 -1
  7. data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +1 -0
  8. data/lib/active_merchant/billing/gateways/braintree_blue.rb +1 -0
  9. data/lib/active_merchant/billing/gateways/cc5.rb +160 -0
  10. data/lib/active_merchant/billing/gateways/data_cash.rb +3 -3
  11. data/lib/active_merchant/billing/gateways/finansbank.rb +22 -0
  12. data/lib/active_merchant/billing/gateways/iridium.rb +8 -2
  13. data/lib/active_merchant/billing/gateways/litle.rb +289 -101
  14. data/lib/active_merchant/billing/gateways/ogone.rb +1 -1
  15. data/lib/active_merchant/billing/gateways/optimal_payment.rb +26 -16
  16. data/lib/active_merchant/billing/gateways/orbital.rb +6 -6
  17. data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +2 -1
  18. data/lib/active_merchant/billing/gateways/paymill.rb +13 -9
  19. data/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +14 -9
  20. data/lib/active_merchant/billing/gateways/pin.rb +13 -5
  21. data/lib/active_merchant/billing/gateways/spreedly_core.rb +15 -17
  22. data/lib/active_merchant/billing/gateways/stripe.rb +25 -12
  23. data/lib/active_merchant/billing/gateways/webpay.rb +8 -0
  24. data/lib/active_merchant/billing/gateways/worldpay.rb +44 -22
  25. data/lib/active_merchant/billing/integrations/payflow_link/helper.rb +3 -2
  26. data/lib/active_merchant/billing/integrations/pxpay/helper.rb +1 -0
  27. data/lib/active_merchant/billing/integrations/robokassa/common.rb +1 -1
  28. data/lib/active_merchant/billing/integrations/sage_pay_form/helper.rb +5 -1
  29. data/lib/active_merchant/billing/integrations/world_pay.rb +15 -8
  30. data/lib/active_merchant/version.rb +1 -1
  31. metadata +62 -60
  32. metadata.gz.sig +0 -0
@@ -32,14 +32,15 @@ module ActiveMerchant #:nodoc:
32
32
  :phone => 'phone',
33
33
  :name => 'name'
34
34
 
35
- mapping :customer, :name => 'name'
35
+ mapping :customer, { :first_name => 'first_name', :last_name => 'last_name' }
36
36
 
37
37
  def description(value)
38
38
  add_field('description', "#{value}".delete("#"))
39
39
  end
40
40
 
41
41
  def customer(params = {})
42
- add_field(mappings[:customer][:name], [params.delete(:first_name), params.delete(:last_name)].compact.join(' '))
42
+ add_field(mappings[:customer][:first_name], params[:first_name])
43
+ add_field(mappings[:customer][:last_name], params[:last_name])
43
44
  end
44
45
 
45
46
  def billing_address(params = {})
@@ -80,6 +80,7 @@ module ActiveMerchant #:nodoc:
80
80
  root = xml.add_element('GenerateRequest')
81
81
 
82
82
  @fields.each do | k, v |
83
+ v = v.slice(0, 50) if k == "MerchantReference"
83
84
  root.add_element(k).text = v
84
85
  end
85
86
 
@@ -6,7 +6,7 @@ module ActiveMerchant #:nodoc:
6
6
  def generate_signature_string
7
7
  custom_param_keys = params.keys.select {|key| key =~ /^shp/}.sort
8
8
  custom_params = custom_param_keys.map {|key| "#{key}=#{params[key]}"}
9
- [main_params, secret, custom_params].flatten.compact.join(':')
9
+ [main_params, secret, custom_params.compact].flatten.join(':')
10
10
  end
11
11
 
12
12
  def generate_signature
@@ -41,6 +41,8 @@ module ActiveMerchant #:nodoc:
41
41
  mapping :return_url, 'SuccessURL'
42
42
  mapping :description, 'Description'
43
43
 
44
+ class_attribute :referrer_id
45
+
44
46
  def shipping_address(params = {})
45
47
  @shipping_address_set = true unless params.empty?
46
48
 
@@ -74,12 +76,14 @@ module ActiveMerchant #:nodoc:
74
76
  key = fields['EncryptKey']
75
77
  @crypt ||= create_crypt_field(fields.except(*crypt_skip), key)
76
78
 
77
- {
79
+ result = {
78
80
  'VPSProtocol' => '2.23',
79
81
  'TxType' => 'PAYMENT',
80
82
  'Vendor' => @fields['Vendor'],
81
83
  'Crypt' => @crypt
82
84
  }
85
+ result['ReferrerID'] = referrer_id if referrer_id
86
+ result
83
87
  end
84
88
 
85
89
  private
@@ -4,20 +4,27 @@ require File.dirname(__FILE__) + '/world_pay/notification.rb'
4
4
  module ActiveMerchant #:nodoc:
5
5
  module Billing #:nodoc:
6
6
  module Integrations #:nodoc:
7
- module WorldPay
8
-
9
- # production and test have the same endpoint
10
- mattr_accessor :production_url
11
- self.production_url = 'https://secure.wp3.rbsworldpay.com/wcc/purchase'
12
-
7
+ module WorldPay
8
+
9
+ mattr_accessor :production_url, :test_url
10
+ self.production_url = 'https://secure.worldpay.com/wcc/purchase'
11
+ self.test_url = 'https://secure-test.worldpay.com/wcc/purchase'
12
+
13
13
  def self.service_url
14
- production_url
14
+ case ActiveMerchant::Billing::Base.integration_mode
15
+ when :production
16
+ self.production_url
17
+ when :test
18
+ self.test_url
19
+ else
20
+ raise StandardError, "Integration mode set to an invalid value: #{mode}"
21
+ end
15
22
  end
16
23
 
17
24
  def self.notification(post, options = {})
18
25
  Notification.new(post, options)
19
26
  end
20
-
27
+
21
28
  def self.return(post, options = {})
22
29
  Return.new(post, options)
23
30
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveMerchant
2
- VERSION = "1.31.1"
2
+ VERSION = "1.32.0"
3
3
  end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activemerchant
3
3
  version: !ruby/object:Gem::Version
4
+ version: 1.32.0
4
5
  prerelease:
5
- version: 1.31.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Tobias Luetke
@@ -37,184 +37,184 @@ cert_chain:
37
37
  Z1BvU1BxN25rK3MyRlFVQko5VVpGSzFsZ016aG8vNGZaZ3pKd2J1K2NPOFNO
38
38
  dWFMUy9iagpoUGFTVHlWVTB5Q1Nudz09Ci0tLS0tRU5EIENFUlRJRklDQVRF
39
39
  LS0tLS0K
40
- date: 2013-02-25 00:00:00.000000000 Z
40
+ date: 2013-04-01 00:00:00.000000000 Z
41
41
  dependencies:
42
42
  - !ruby/object:Gem::Dependency
43
- version_requirements: !ruby/object:Gem::Requirement
43
+ name: activesupport
44
+ requirement: !ruby/object:Gem::Requirement
45
+ none: false
44
46
  requirements:
45
47
  - - ! '>='
46
48
  - !ruby/object:Gem::Version
47
49
  version: 2.3.14
48
- none: false
49
- name: activesupport
50
50
  type: :runtime
51
51
  prerelease: false
52
- requirement: !ruby/object:Gem::Requirement
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ none: false
53
54
  requirements:
54
55
  - - ! '>='
55
56
  - !ruby/object:Gem::Version
56
57
  version: 2.3.14
57
- none: false
58
58
  - !ruby/object:Gem::Dependency
59
- version_requirements: !ruby/object:Gem::Requirement
59
+ name: i18n
60
+ requirement: !ruby/object:Gem::Requirement
61
+ none: false
60
62
  requirements:
61
63
  - - ! '>='
62
64
  - !ruby/object:Gem::Version
63
65
  version: '0'
64
- none: false
65
- name: i18n
66
66
  type: :runtime
67
67
  prerelease: false
68
- requirement: !ruby/object:Gem::Requirement
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ none: false
69
70
  requirements:
70
71
  - - ! '>='
71
72
  - !ruby/object:Gem::Version
72
73
  version: '0'
73
- none: false
74
74
  - !ruby/object:Gem::Dependency
75
- version_requirements: !ruby/object:Gem::Requirement
75
+ name: money
76
+ requirement: !ruby/object:Gem::Requirement
77
+ none: false
76
78
  requirements:
77
79
  - - ! '>='
78
80
  - !ruby/object:Gem::Version
79
81
  version: '0'
80
- none: false
81
- name: money
82
82
  type: :runtime
83
83
  prerelease: false
84
- requirement: !ruby/object:Gem::Requirement
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ none: false
85
86
  requirements:
86
87
  - - ! '>='
87
88
  - !ruby/object:Gem::Version
88
89
  version: '0'
89
- none: false
90
90
  - !ruby/object:Gem::Dependency
91
- version_requirements: !ruby/object:Gem::Requirement
91
+ name: builder
92
+ requirement: !ruby/object:Gem::Requirement
93
+ none: false
92
94
  requirements:
93
95
  - - ! '>='
94
96
  - !ruby/object:Gem::Version
95
97
  version: 2.0.0
96
- none: false
97
- name: builder
98
98
  type: :runtime
99
99
  prerelease: false
100
- requirement: !ruby/object:Gem::Requirement
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ none: false
101
102
  requirements:
102
103
  - - ! '>='
103
104
  - !ruby/object:Gem::Version
104
105
  version: 2.0.0
105
- none: false
106
106
  - !ruby/object:Gem::Dependency
107
- version_requirements: !ruby/object:Gem::Requirement
107
+ name: json
108
+ requirement: !ruby/object:Gem::Requirement
109
+ none: false
108
110
  requirements:
109
111
  - - ! '>='
110
112
  - !ruby/object:Gem::Version
111
113
  version: 1.5.1
112
- none: false
113
- name: json
114
114
  type: :runtime
115
115
  prerelease: false
116
- requirement: !ruby/object:Gem::Requirement
116
+ version_requirements: !ruby/object:Gem::Requirement
117
+ none: false
117
118
  requirements:
118
119
  - - ! '>='
119
120
  - !ruby/object:Gem::Version
120
121
  version: 1.5.1
121
- none: false
122
122
  - !ruby/object:Gem::Dependency
123
- version_requirements: !ruby/object:Gem::Requirement
123
+ name: active_utils
124
+ requirement: !ruby/object:Gem::Requirement
125
+ none: false
124
126
  requirements:
125
127
  - - ! '>='
126
128
  - !ruby/object:Gem::Version
127
129
  version: 1.0.2
128
- none: false
129
- name: active_utils
130
130
  type: :runtime
131
131
  prerelease: false
132
- requirement: !ruby/object:Gem::Requirement
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ none: false
133
134
  requirements:
134
135
  - - ! '>='
135
136
  - !ruby/object:Gem::Version
136
137
  version: 1.0.2
137
- none: false
138
138
  - !ruby/object:Gem::Dependency
139
- version_requirements: !ruby/object:Gem::Requirement
139
+ name: nokogiri
140
+ requirement: !ruby/object:Gem::Requirement
141
+ none: false
140
142
  requirements:
141
143
  - - ! '>='
142
144
  - !ruby/object:Gem::Version
143
145
  version: '0'
144
- none: false
145
- name: nokogiri
146
146
  type: :runtime
147
147
  prerelease: false
148
- requirement: !ruby/object:Gem::Requirement
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ none: false
149
150
  requirements:
150
151
  - - ! '>='
151
152
  - !ruby/object:Gem::Version
152
153
  version: '0'
153
- none: false
154
154
  - !ruby/object:Gem::Dependency
155
- version_requirements: !ruby/object:Gem::Requirement
155
+ name: rake
156
+ requirement: !ruby/object:Gem::Requirement
157
+ none: false
156
158
  requirements:
157
159
  - - ! '>='
158
160
  - !ruby/object:Gem::Version
159
161
  version: '0'
160
- none: false
161
- name: rake
162
162
  type: :development
163
163
  prerelease: false
164
- requirement: !ruby/object:Gem::Requirement
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ none: false
165
166
  requirements:
166
167
  - - ! '>='
167
168
  - !ruby/object:Gem::Version
168
169
  version: '0'
169
- none: false
170
170
  - !ruby/object:Gem::Dependency
171
- version_requirements: !ruby/object:Gem::Requirement
171
+ name: mocha
172
+ requirement: !ruby/object:Gem::Requirement
173
+ none: false
172
174
  requirements:
173
175
  - - ~>
174
176
  - !ruby/object:Gem::Version
175
177
  version: 0.11.3
176
- none: false
177
- name: mocha
178
178
  type: :development
179
179
  prerelease: false
180
- requirement: !ruby/object:Gem::Requirement
180
+ version_requirements: !ruby/object:Gem::Requirement
181
+ none: false
181
182
  requirements:
182
183
  - - ~>
183
184
  - !ruby/object:Gem::Version
184
185
  version: 0.11.3
185
- none: false
186
186
  - !ruby/object:Gem::Dependency
187
- version_requirements: !ruby/object:Gem::Requirement
187
+ name: rails
188
+ requirement: !ruby/object:Gem::Requirement
189
+ none: false
188
190
  requirements:
189
191
  - - ! '>='
190
192
  - !ruby/object:Gem::Version
191
193
  version: 2.3.14
192
- none: false
193
- name: rails
194
194
  type: :development
195
195
  prerelease: false
196
- requirement: !ruby/object:Gem::Requirement
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ none: false
197
198
  requirements:
198
199
  - - ! '>='
199
200
  - !ruby/object:Gem::Version
200
201
  version: 2.3.14
201
- none: false
202
202
  - !ruby/object:Gem::Dependency
203
- version_requirements: !ruby/object:Gem::Requirement
203
+ name: thor
204
+ requirement: !ruby/object:Gem::Requirement
205
+ none: false
204
206
  requirements:
205
207
  - - ! '>='
206
208
  - !ruby/object:Gem::Version
207
209
  version: '0'
208
- none: false
209
- name: thor
210
210
  type: :development
211
211
  prerelease: false
212
- requirement: !ruby/object:Gem::Requirement
212
+ version_requirements: !ruby/object:Gem::Requirement
213
+ none: false
213
214
  requirements:
214
215
  - - ! '>='
215
216
  - !ruby/object:Gem::Version
216
217
  version: '0'
217
- none: false
218
218
  description: Active Merchant is a simple payment abstraction library used in and sponsored
219
219
  by Shopify. It is written by Tobias Luetke, Cody Fauser, and contributors. The aim
220
220
  of the project is to feel natural to Ruby users and to abstract as many parts as
@@ -255,6 +255,7 @@ files:
255
255
  - lib/active_merchant/billing/gateways/braintree_orange.rb
256
256
  - lib/active_merchant/billing/gateways/card_save.rb
257
257
  - lib/active_merchant/billing/gateways/card_stream.rb
258
+ - lib/active_merchant/billing/gateways/cc5.rb
258
259
  - lib/active_merchant/billing/gateways/certo_direct.rb
259
260
  - lib/active_merchant/billing/gateways/cyber_source.rb
260
261
  - lib/active_merchant/billing/gateways/data_cash.rb
@@ -268,6 +269,7 @@ files:
268
269
  - lib/active_merchant/billing/gateways/exact.rb
269
270
  - lib/active_merchant/billing/gateways/fat_zebra.rb
270
271
  - lib/active_merchant/billing/gateways/federated_canada.rb
272
+ - lib/active_merchant/billing/gateways/finansbank.rb
271
273
  - lib/active_merchant/billing/gateways/first_pay.rb
272
274
  - lib/active_merchant/billing/gateways/firstdata_e4.rb
273
275
  - lib/active_merchant/billing/gateways/garanti.rb
@@ -514,20 +516,20 @@ rdoc_options: []
514
516
  require_paths:
515
517
  - lib
516
518
  required_ruby_version: !ruby/object:Gem::Requirement
519
+ none: false
517
520
  requirements:
518
521
  - - ! '>='
519
522
  - !ruby/object:Gem::Version
520
523
  version: '0'
521
- none: false
522
524
  required_rubygems_version: !ruby/object:Gem::Requirement
525
+ none: false
523
526
  requirements:
524
527
  - - ! '>='
525
528
  - !ruby/object:Gem::Version
526
529
  version: '0'
527
- none: false
528
530
  requirements: []
529
531
  rubyforge_project: activemerchant
530
- rubygems_version: 1.8.23
532
+ rubygems_version: 1.8.24
531
533
  signing_key:
532
534
  specification_version: 3
533
535
  summary: Framework and tools for dealing with credit card transactions.
metadata.gz.sig CHANGED
Binary file