smulube-activemerchant 1.7.1 → 1.7.1.3

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.
data.tar.gz.sig CHANGED
Binary file
@@ -3,7 +3,7 @@ module ActiveMerchant #:nodoc:
3
3
  class PayflowNvpUkGateway < Gateway
4
4
  TEST_URL = 'https://pilot-payflowpro.paypal.com'
5
5
  LIVE_URL = 'https://payflowpro.paypal.com'
6
-
6
+
7
7
  self.class_inheritable_accessor :partner
8
8
  self.class_inheritable_accessor :timeout
9
9
 
@@ -14,25 +14,25 @@ module ActiveMerchant #:nodoc:
14
14
  # subsequent Responses will have a :duplicate parameter set in the params
15
15
  # hash.
16
16
  self.retry_safe = true
17
-
17
+
18
18
  # The countries the gateway supports merchants from as 2 digit ISO country codes
19
19
  self.supported_countries = ['GB']
20
-
20
+
21
21
  # The card types supported by the payment gateway
22
22
  self.supported_cardtypes = [:visa, :master, :american_express, :discover, :solo, :switch]
23
-
23
+
24
24
  # The homepage URL of the gateway
25
25
  self.homepage_url = 'https://www.paypal.com/uk/cgi-bin/webscr?cmd=_wp-pro-overview-outside'
26
-
26
+
27
27
  # The name of the gateway
28
28
  self.display_name = 'PayPal Website Payments Pro (UK) [NVP API]'
29
-
29
+
30
30
  self.default_currency = 'GBP'
31
31
  self.partner = 'PayPalUk'
32
32
  self.money_format = :dollars
33
33
  self.timeout = 30
34
34
 
35
- TRANSACTIONS = {
35
+ TRANSACTIONS = {
36
36
  :purchase => "S",
37
37
  :authorization => "A",
38
38
  :capture => "D",
@@ -65,7 +65,7 @@ module ActiveMerchant #:nodoc:
65
65
  #
66
66
  # The gateway requires that a valid login and password be passed
67
67
  # in the +options+ hash.
68
- #
68
+ #
69
69
  # ==== Parameters
70
70
  #
71
71
  # * <tt>options</tt>
@@ -122,15 +122,15 @@ module ActiveMerchant #:nodoc:
122
122
  def authorize(money, creditcard, options = {})
123
123
  post = {}
124
124
  add_invoice(post, options)
125
- add_creditcard(post, creditcard)
125
+ add_creditcard(post, creditcard)
126
126
  add_currency(post, money, options)
127
127
  add_address(post, options[:billing_address] || options[:address])
128
128
  add_address(post, options[:shipping_address], "shipto")
129
129
  add_customer_data(post, options)
130
-
130
+
131
131
  commit(TRANSACTIONS[:authorize], money, post)
132
132
  end
133
-
133
+
134
134
  # A purchase transaction authorizes and captures in a single hit. We can only
135
135
  # do this for transactions where you provide immediate fulfillment of products or services.
136
136
  #
@@ -159,15 +159,15 @@ module ActiveMerchant #:nodoc:
159
159
  def purchase(money, creditcard, options = {})
160
160
  post = {}
161
161
  add_invoice(post, options)
162
- add_creditcard(post, creditcard)
162
+ add_creditcard(post, creditcard)
163
163
  add_currency(post, money, options)
164
- add_address(post, options[:billing_address] || options[:address])
164
+ add_address(post, options[:billing_address] || options[:address])
165
165
  add_address(post, options[:shipping_address], "shipto")
166
166
  add_customer_data(post, options)
167
-
167
+
168
168
  commit(TRANSACTIONS[:purchase], money, post)
169
- end
170
-
169
+ end
170
+
171
171
  # Captures authorized funds.
172
172
  #
173
173
  # ==== Parameters
@@ -203,15 +203,15 @@ module ActiveMerchant #:nodoc:
203
203
  # * <tt>options</tt> - not currently used
204
204
  def credit(money, authorization_or_card, options = {})
205
205
  post = {}
206
-
206
+
207
207
  if authorization_or_card.is_a?(String)
208
208
  # perform a referenced credit
209
209
  post[:origid] = authorization
210
210
  else
211
211
  # perform an unreferenced credit
212
- add_creditcard(post, creditcard)
212
+ add_creditcard(post, creditcard)
213
213
  end
214
-
214
+
215
215
  commit(TRANSACTIONS[:credit], money, post)
216
216
  end
217
217
 
@@ -271,9 +271,9 @@ module ActiveMerchant #:nodoc:
271
271
 
272
272
  commit(TRANSACTIONS[:recurring], nil, post)
273
273
  end
274
-
275
- private
276
-
274
+
275
+ private
276
+
277
277
  def add_customer_data(post, options)
278
278
  post[:email] = options[:email].to_s if options.has_key?(:email)
279
279
  post[:custref] = options[:customer].to_s.slice(0,12) if options[:customer]
@@ -283,29 +283,30 @@ module ActiveMerchant #:nodoc:
283
283
  # NOTE : If you pass in any of the ship-to address parameters such as SHIPTOCITY or
284
284
  # SHIPTOSTATE, you must pass in the complete set (that is, SHIPTOSTREET,
285
285
  # SHIPTOCITY, SHIPTOSTATE, SHIPTOCOUNTRY, and SHIPTOZIP).
286
- def add_address(post, address, prefix = '')
286
+ def add_address(post, address, prefix = '')
287
287
  unless address.blank? or address.values.blank?
288
288
  post[prefix+"street"] = address[:address1].to_s
289
289
  post[prefix+"city"] = address[:city].to_s
290
290
  post[prefix+"state"] = address[:state].blank? ? 'n/a' : address[:state]
291
291
  post[prefix+"country"] = address[:country].to_s
292
292
  post[prefix+"zip"] = address[:zip].to_s.sub(/\s+/,'')
293
- end
293
+ end
294
294
  end
295
295
 
296
296
  def add_invoice(post, options)
297
- post[:invnum] = (options[:invoice] || options[:order_id]).to_s.slice(0,127) if options.has_key?(:invoice) || options.has_key?(:order_id)
297
+ post[:invnum] = (options[:invoice] || options[:order_id]).to_s.slice(0,127) if options.has_key?(:invoice) || options.has_key?(:order_id)
298
298
  end
299
-
300
- def add_creditcard(post, creditcard)
299
+
300
+ def add_creditcard(post, creditcard)
301
301
  unless creditcard.nil?
302
302
  post[:acct] = creditcard.number
303
303
  post[:cvv2] = creditcard.verification_value
304
304
  post[:expdate] = expdate(creditcard)
305
- post[:name] = creditcard.name
305
+ post[:firstname] = creditcard.first_name
306
+ post[:lastname] = creditcard.last_name
306
307
  end
307
308
  end
308
-
309
+
309
310
  def add_currency(post, money, options)
310
311
  post[:currency] = options[:currency] || currency(money)
311
312
  end
@@ -349,9 +350,9 @@ module ActiveMerchant #:nodoc:
349
350
  key,val = pair.split(/=/)
350
351
  results[key] = val
351
352
  end
352
-
353
+
353
354
  results
354
- end
355
+ end
355
356
 
356
357
  def build_request(parameters, action = nil)
357
358
  post = {}
@@ -362,7 +363,7 @@ module ActiveMerchant #:nodoc:
362
363
  post[:trxtype] = action if action
363
364
  post[:tender] = "C"
364
365
  post[:verbosity] = "MEDIUM"
365
-
366
+
366
367
  request = post.merge(parameters).sort { |a, b| a[0].to_s <=> b[0].to_s }.map { |pair| "#{pair[0].to_s.upcase}=#{CGI.escape(pair[1].to_s)}" }.join("&") #.map { |kv_pair| "#{kv_pair[0].to_s.upcase}=#{CGI.escape(kv_pair[1].to_s)}" }.join("&")
367
368
 
368
369
  request
@@ -372,29 +373,30 @@ module ActiveMerchant #:nodoc:
372
373
  {
373
374
  "Content-Type" => "text/namevalue",
374
375
  "Content-Length" => content_length.to_s,
375
- "X-VPS-Client-Timeout" => timeout.to_s,
376
- "X-VPS-VIT-Integration-Product" => "ActiveMerchant",
376
+ "X-VPS-Client-Timeout" => timeout.to_s,
377
+ "X-VPS-VIT-Integration-Product" => "ActiveMerchant",
377
378
  "X-VPS-VIT-Integration-Version" => ActiveMerchant::VERSION,
378
- "X-VPS-VIT-Runtime-Version" => RUBY_VERSION,
379
- "X-VPS-Request-ID" => Utils.generate_unique_id
380
- }
379
+ "X-VPS-VIT-Runtime-Version" => RUBY_VERSION,
380
+ "X-VPS-Request-ID" => Utils.generate_unique_id
381
+ }
381
382
  end
382
-
383
+
383
384
  def commit(action, money, parameters)
384
385
  parameters[:amt] = amount(money) if money
385
386
 
386
387
  request = build_request(parameters, action)
388
+
387
389
  headers = build_headers(request.size)
388
390
 
389
- response = parse(ssl_post(test? ? TEST_URL : LIVE_URL, request, headers))
391
+ response = parse(ssl_post(test? ? TEST_URL : LIVE_URL, request, headers))
390
392
 
391
- Response.new(response["RESULT"] == "0", response["RESPMSG"], response,
393
+ Response.new(response["RESULT"] == "0", response["RESPMSG"], response,
392
394
  :authorization => response["PNREF"],
393
395
  :test => test?,
394
396
  :cvv_result => response["PROCCVV2"],
395
397
  :avs_result => { :code => response["PROCAVS"], :postal_match => response["AVSZIP"], :street_match => response["AVSADDR"] }
396
398
  )
397
-
399
+
398
400
  end
399
401
  end
400
402
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveMerchant
2
- VERSION = "1.7.1"
2
+ VERSION = "1.7.1.3"
3
3
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smulube-activemerchant
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 101
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 7
9
9
  - 1
10
- version: 1.7.1
10
+ - 3
11
+ version: 1.7.1.3
11
12
  platform: ruby
12
13
  authors:
13
14
  - Tobias Luetke
@@ -36,7 +37,7 @@ cert_chain:
36
37
  RGv1VYD5jSaHiQ==
37
38
  -----END CERTIFICATE-----
38
39
 
39
- date: 2010-08-02 00:00:00 +01:00
40
+ date: 2010-09-09 00:00:00 +01:00
40
41
  default_executable:
41
42
  dependencies:
42
43
  - !ruby/object:Gem::Dependency
metadata.gz.sig CHANGED
Binary file