activemerchant 1.29.1 → 1.31.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.
Files changed (53) hide show
  1. data/CHANGELOG +58 -0
  2. data/CONTRIBUTORS +27 -0
  3. data/README.md +45 -41
  4. data/lib/active_merchant/billing/check.rb +11 -11
  5. data/lib/active_merchant/billing/credit_card.rb +1 -1
  6. data/lib/active_merchant/billing/credit_card_formatting.rb +8 -8
  7. data/lib/active_merchant/billing/gateway.rb +2 -2
  8. data/lib/active_merchant/billing/gateways/authorize_net.rb +9 -1
  9. data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +15 -4
  10. data/lib/active_merchant/billing/gateways/balanced.rb +9 -3
  11. data/lib/active_merchant/billing/gateways/banwire.rb +15 -1
  12. data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +6 -2
  13. data/lib/active_merchant/billing/gateways/beanstream.rb +26 -24
  14. data/lib/active_merchant/billing/gateways/braintree_blue.rb +5 -2
  15. data/lib/active_merchant/billing/gateways/cyber_source.rb +55 -22
  16. data/lib/active_merchant/billing/gateways/evo_ca.rb +308 -0
  17. data/lib/active_merchant/billing/gateways/eway.rb +114 -171
  18. data/lib/active_merchant/billing/gateways/eway_managed.rb +52 -22
  19. data/lib/active_merchant/billing/gateways/firstdata_e4.rb +232 -0
  20. data/lib/active_merchant/billing/gateways/ideal_rabobank.rb +13 -2
  21. data/lib/active_merchant/billing/gateways/litle.rb +50 -19
  22. data/lib/active_merchant/billing/gateways/merchant_ware.rb +44 -9
  23. data/lib/active_merchant/billing/gateways/merchant_warrior.rb +190 -0
  24. data/lib/active_merchant/billing/gateways/moneris.rb +3 -5
  25. data/lib/active_merchant/billing/gateways/moneris_us.rb +1 -1
  26. data/lib/active_merchant/billing/gateways/nab_transact.rb +20 -3
  27. data/lib/active_merchant/billing/gateways/netbilling.rb +1 -0
  28. data/lib/active_merchant/billing/gateways/netpay.rb +223 -0
  29. data/lib/active_merchant/billing/gateways/ogone.rb +6 -4
  30. data/lib/active_merchant/billing/gateways/optimal_payment.rb +18 -3
  31. data/lib/active_merchant/billing/gateways/orbital.rb +9 -5
  32. data/lib/active_merchant/billing/gateways/payment_express.rb +62 -1
  33. data/lib/active_merchant/billing/gateways/paymill.rb +161 -0
  34. data/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +1 -1
  35. data/lib/active_merchant/billing/gateways/paypal_express.rb +17 -11
  36. data/lib/active_merchant/billing/gateways/pin.rb +157 -0
  37. data/lib/active_merchant/billing/gateways/qbms.rb +3 -2
  38. data/lib/active_merchant/billing/gateways/quickpay.rb +66 -28
  39. data/lib/active_merchant/billing/gateways/sage_pay.rb +6 -0
  40. data/lib/active_merchant/billing/gateways/smart_ps.rb +1 -1
  41. data/lib/active_merchant/billing/gateways/spreedly_core.rb +235 -0
  42. data/lib/active_merchant/billing/gateways/stripe.rb +1 -0
  43. data/lib/active_merchant/billing/gateways/wirecard.rb +15 -9
  44. data/lib/active_merchant/billing/gateways/worldpay.rb +19 -5
  45. data/lib/active_merchant/billing/integrations/payflow_link/helper.rb +4 -1
  46. data/lib/active_merchant/billing/integrations/paypal/notification.rb +39 -31
  47. data/lib/active_merchant/billing/integrations/quickpay/helper.rb +13 -10
  48. data/lib/active_merchant/billing/integrations/quickpay/notification.rb +14 -14
  49. data/lib/active_merchant/billing/integrations/sage_pay_form/helper.rb +2 -2
  50. data/lib/active_merchant/version.rb +1 -1
  51. data.tar.gz.sig +0 -0
  52. metadata +32 -24
  53. metadata.gz.sig +0 -0
@@ -7,7 +7,7 @@ module ActiveMerchant #:nodoc:
7
7
  class Notification < ActiveMerchant::Billing::Integrations::Notification
8
8
  def complete?
9
9
  status == '000'
10
- end
10
+ end
11
11
 
12
12
  def item_id
13
13
  params['ordernumber']
@@ -18,7 +18,10 @@ module ActiveMerchant #:nodoc:
18
18
  end
19
19
 
20
20
  def received_at
21
- Time.parse("20#{params['time']}")
21
+ time = params['time']
22
+ # If time only contains 12 integers then it's pre v5 format
23
+ time = "20#{params['time']}" if /[0-9]{12}/.match(params['time'])
24
+ Time.parse(time)
22
25
  end
23
26
 
24
27
  def gross
@@ -29,10 +32,6 @@ module ActiveMerchant #:nodoc:
29
32
  params['amount'].to_i
30
33
  end
31
34
 
32
- def test?
33
- params['testmode'] == 'Yes'
34
- end
35
-
36
35
  def status
37
36
  params['qpstat']
38
37
  end
@@ -40,9 +39,9 @@ module ActiveMerchant #:nodoc:
40
39
  def currency
41
40
  params['currency']
42
41
  end
43
-
42
+
44
43
  # Provide access to raw fields from quickpay
45
- %w(msgtype ordernumber state chstat chstatmsg qpstat qpstatmsg merchant merchantemail cardtype cardnumber).each do |attr|
44
+ %w(msgtype ordernumber state chstat chstatmsg qpstat qpstatmsg merchant merchantemail cardtype cardnumber splitpayment fraudprobability fraudremarks fraudreport fee).each do |attr|
46
45
  define_method(attr) do
47
46
  params[attr]
48
47
  end
@@ -50,21 +49,22 @@ module ActiveMerchant #:nodoc:
50
49
 
51
50
  MD5_CHECK_FIELDS = [
52
51
  :msgtype, :ordernumber, :amount, :currency, :time, :state,
53
- :chstat, :chstatmsg, :qpstat, :qpstatmsg, :merchant, :merchantemail,
54
- :transaction, :cardtype, :cardnumber, :testmode
52
+ :qpstat, :qpstatmsg, :chstat, :chstatmsg, :merchant, :merchantemail,
53
+ :transaction, :cardtype, :cardnumber, :splitpayment, :fraudprobability,
54
+ :fraudremarks, :fraudreport, :fee
55
55
  ]
56
56
 
57
57
  def generate_md5string
58
- MD5_CHECK_FIELDS.map { |key| params[key.to_s] } * "" + @options[:credential2]
58
+ MD5_CHECK_FIELDS.map { |key| params[key.to_s] } * "" + @options[:credential2].to_s
59
59
  end
60
-
60
+
61
61
  def generate_md5check
62
62
  Digest::MD5.hexdigest(generate_md5string)
63
63
  end
64
-
64
+
65
65
  # Quickpay doesn't do acknowledgements of callback notifications
66
66
  # Instead it uses and MD5 hash of all parameters
67
- def acknowledge
67
+ def acknowledge
68
68
  generate_md5check == params['md5check']
69
69
  end
70
70
  end
@@ -64,8 +64,8 @@ module ActiveMerchant #:nodoc:
64
64
 
65
65
  fields['FailureURL'] ||= fields['SuccessURL']
66
66
 
67
- fields['BillingPostCode'] ||= "0000" if fields['BillingCountry'] == "IE"
68
- fields['DeliveryPostCode'] ||= "0000" if fields['DeliveryCountry'] == "IE"
67
+ fields['BillingPostCode'] ||= "0000"
68
+ fields['DeliveryPostCode'] ||= "0000"
69
69
 
70
70
  crypt_skip = ['Vendor', 'EncryptKey', 'SendEmail']
71
71
  crypt_skip << 'BillingState' unless fields['BillingCountry'] == 'US'
@@ -1,3 +1,3 @@
1
1
  module ActiveMerchant
2
- VERSION = "1.29.1"
2
+ VERSION = "1.31.0"
3
3
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activemerchant
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.29.1
4
+ version: 1.31.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -37,11 +37,11 @@ cert_chain:
37
37
  Z1BvU1BxN25rK3MyRlFVQko5VVpGSzFsZ016aG8vNGZaZ3pKd2J1K2NPOFNO
38
38
  dWFMUy9iagpoUGFTVHlWVTB5Q1Nudz09Ci0tLS0tRU5EIENFUlRJRklDQVRF
39
39
  LS0tLS0K
40
- date: 2012-12-05 00:00:00.000000000 Z
40
+ date: 2013-02-20 00:00:00.000000000 Z
41
41
  dependencies:
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: activesupport
44
- requirement: &70335632813660 !ruby/object:Gem::Requirement
44
+ requirement: &70206840641520 !ruby/object:Gem::Requirement
45
45
  none: false
46
46
  requirements:
47
47
  - - ! '>='
@@ -49,10 +49,10 @@ dependencies:
49
49
  version: 2.3.14
50
50
  type: :runtime
51
51
  prerelease: false
52
- version_requirements: *70335632813660
52
+ version_requirements: *70206840641520
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: i18n
55
- requirement: &70335632813220 !ruby/object:Gem::Requirement
55
+ requirement: &70206840641100 !ruby/object:Gem::Requirement
56
56
  none: false
57
57
  requirements:
58
58
  - - ! '>='
@@ -60,10 +60,10 @@ dependencies:
60
60
  version: '0'
61
61
  type: :runtime
62
62
  prerelease: false
63
- version_requirements: *70335632813220
63
+ version_requirements: *70206840641100
64
64
  - !ruby/object:Gem::Dependency
65
65
  name: money
66
- requirement: &70335632812700 !ruby/object:Gem::Requirement
66
+ requirement: &70206840640640 !ruby/object:Gem::Requirement
67
67
  none: false
68
68
  requirements:
69
69
  - - ! '>='
@@ -71,10 +71,10 @@ dependencies:
71
71
  version: '0'
72
72
  type: :runtime
73
73
  prerelease: false
74
- version_requirements: *70335632812700
74
+ version_requirements: *70206840640640
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: builder
77
- requirement: &70335632812180 !ruby/object:Gem::Requirement
77
+ requirement: &70206840640080 !ruby/object:Gem::Requirement
78
78
  none: false
79
79
  requirements:
80
80
  - - ! '>='
@@ -82,10 +82,10 @@ dependencies:
82
82
  version: 2.0.0
83
83
  type: :runtime
84
84
  prerelease: false
85
- version_requirements: *70335632812180
85
+ version_requirements: *70206840640080
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: json
88
- requirement: &70335632811640 !ruby/object:Gem::Requirement
88
+ requirement: &70206840639440 !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
91
  - - ! '>='
@@ -93,10 +93,10 @@ dependencies:
93
93
  version: 1.5.1
94
94
  type: :runtime
95
95
  prerelease: false
96
- version_requirements: *70335632811640
96
+ version_requirements: *70206840639440
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: active_utils
99
- requirement: &70335632811140 !ruby/object:Gem::Requirement
99
+ requirement: &70206840638860 !ruby/object:Gem::Requirement
100
100
  none: false
101
101
  requirements:
102
102
  - - ! '>='
@@ -104,10 +104,10 @@ dependencies:
104
104
  version: 1.0.2
105
105
  type: :runtime
106
106
  prerelease: false
107
- version_requirements: *70335632811140
107
+ version_requirements: *70206840638860
108
108
  - !ruby/object:Gem::Dependency
109
109
  name: nokogiri
110
- requirement: &70335632810740 !ruby/object:Gem::Requirement
110
+ requirement: &70206840638080 !ruby/object:Gem::Requirement
111
111
  none: false
112
112
  requirements:
113
113
  - - ! '>='
@@ -115,10 +115,10 @@ dependencies:
115
115
  version: '0'
116
116
  type: :runtime
117
117
  prerelease: false
118
- version_requirements: *70335632810740
118
+ version_requirements: *70206840638080
119
119
  - !ruby/object:Gem::Dependency
120
120
  name: rake
121
- requirement: &70335632810240 !ruby/object:Gem::Requirement
121
+ requirement: &70206840637200 !ruby/object:Gem::Requirement
122
122
  none: false
123
123
  requirements:
124
124
  - - ! '>='
@@ -126,10 +126,10 @@ dependencies:
126
126
  version: '0'
127
127
  type: :development
128
128
  prerelease: false
129
- version_requirements: *70335632810240
129
+ version_requirements: *70206840637200
130
130
  - !ruby/object:Gem::Dependency
131
131
  name: mocha
132
- requirement: &70335632809700 !ruby/object:Gem::Requirement
132
+ requirement: &70206840636380 !ruby/object:Gem::Requirement
133
133
  none: false
134
134
  requirements:
135
135
  - - ~>
@@ -137,10 +137,10 @@ dependencies:
137
137
  version: 0.11.3
138
138
  type: :development
139
139
  prerelease: false
140
- version_requirements: *70335632809700
140
+ version_requirements: *70206840636380
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: rails
143
- requirement: &70335632809180 !ruby/object:Gem::Requirement
143
+ requirement: &70206840635740 !ruby/object:Gem::Requirement
144
144
  none: false
145
145
  requirements:
146
146
  - - ! '>='
@@ -148,10 +148,10 @@ dependencies:
148
148
  version: 2.3.14
149
149
  type: :development
150
150
  prerelease: false
151
- version_requirements: *70335632809180
151
+ version_requirements: *70206840635740
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: thor
154
- requirement: &70335632808760 !ruby/object:Gem::Requirement
154
+ requirement: &70206840684480 !ruby/object:Gem::Requirement
155
155
  none: false
156
156
  requirements:
157
157
  - - ! '>='
@@ -159,7 +159,7 @@ dependencies:
159
159
  version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
- version_requirements: *70335632808760
162
+ version_requirements: *70206840684480
163
163
  description: Active Merchant is a simple payment abstraction library used in and sponsored
164
164
  by Shopify. It is written by Tobias Luetke, Cody Fauser, and contributors. The aim
165
165
  of the project is to feel natural to Ruby users and to abstract as many parts as
@@ -206,6 +206,7 @@ files:
206
206
  - lib/active_merchant/billing/gateways/efsnet.rb
207
207
  - lib/active_merchant/billing/gateways/elavon.rb
208
208
  - lib/active_merchant/billing/gateways/epay.rb
209
+ - lib/active_merchant/billing/gateways/evo_ca.rb
209
210
  - lib/active_merchant/billing/gateways/eway.rb
210
211
  - lib/active_merchant/billing/gateways/eway_managed.rb
211
212
  - lib/active_merchant/billing/gateways/eway_rapid.rb
@@ -213,6 +214,7 @@ files:
213
214
  - lib/active_merchant/billing/gateways/fat_zebra.rb
214
215
  - lib/active_merchant/billing/gateways/federated_canada.rb
215
216
  - lib/active_merchant/billing/gateways/first_pay.rb
217
+ - lib/active_merchant/billing/gateways/firstdata_e4.rb
216
218
  - lib/active_merchant/billing/gateways/garanti.rb
217
219
  - lib/active_merchant/billing/gateways/hdfc.rb
218
220
  - lib/active_merchant/billing/gateways/ideal/ideal_base.rb
@@ -228,6 +230,7 @@ files:
228
230
  - lib/active_merchant/billing/gateways/litle.rb
229
231
  - lib/active_merchant/billing/gateways/merchant_e_solutions.rb
230
232
  - lib/active_merchant/billing/gateways/merchant_ware.rb
233
+ - lib/active_merchant/billing/gateways/merchant_warrior.rb
231
234
  - lib/active_merchant/billing/gateways/mercury.rb
232
235
  - lib/active_merchant/billing/gateways/metrics_global.rb
233
236
  - lib/active_merchant/billing/gateways/migs/migs_codes.rb
@@ -240,6 +243,7 @@ files:
240
243
  - lib/active_merchant/billing/gateways/net_registry.rb
241
244
  - lib/active_merchant/billing/gateways/netaxept.rb
242
245
  - lib/active_merchant/billing/gateways/netbilling.rb
246
+ - lib/active_merchant/billing/gateways/netpay.rb
243
247
  - lib/active_merchant/billing/gateways/nmi.rb
244
248
  - lib/active_merchant/billing/gateways/ogone.rb
245
249
  - lib/active_merchant/billing/gateways/optimal_payment.rb
@@ -258,6 +262,7 @@ files:
258
262
  - lib/active_merchant/billing/gateways/payflow_express_uk.rb
259
263
  - lib/active_merchant/billing/gateways/payflow_uk.rb
260
264
  - lib/active_merchant/billing/gateways/payment_express.rb
265
+ - lib/active_merchant/billing/gateways/paymill.rb
261
266
  - lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb
262
267
  - lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb
263
268
  - lib/active_merchant/billing/gateways/paypal/paypal_recurring_api.rb
@@ -268,6 +273,7 @@ files:
268
273
  - lib/active_merchant/billing/gateways/paypal_express_common.rb
269
274
  - lib/active_merchant/billing/gateways/paystation.rb
270
275
  - lib/active_merchant/billing/gateways/payway.rb
276
+ - lib/active_merchant/billing/gateways/pin.rb
271
277
  - lib/active_merchant/billing/gateways/plugnpay.rb
272
278
  - lib/active_merchant/billing/gateways/psigate.rb
273
279
  - lib/active_merchant/billing/gateways/psl_card.rb
@@ -289,6 +295,7 @@ files:
289
295
  - lib/active_merchant/billing/gateways/secure_pay_tech.rb
290
296
  - lib/active_merchant/billing/gateways/skip_jack.rb
291
297
  - lib/active_merchant/billing/gateways/smart_ps.rb
298
+ - lib/active_merchant/billing/gateways/spreedly_core.rb
292
299
  - lib/active_merchant/billing/gateways/stripe.rb
293
300
  - lib/active_merchant/billing/gateways/trans_first.rb
294
301
  - lib/active_merchant/billing/gateways/transax.rb
@@ -470,3 +477,4 @@ signing_key:
470
477
  specification_version: 3
471
478
  summary: Framework and tools for dealing with credit card transactions.
472
479
  test_files: []
480
+ has_rdoc:
metadata.gz.sig CHANGED
Binary file