activemerchant 1.42.4 → 1.42.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,14 +3,55 @@ module ActiveMerchant #:nodoc:
3
3
  module Integrations #:nodoc:
4
4
  module TwoCheckout
5
5
  class Return < ActiveMerchant::Billing::Integrations::Return
6
- def success?
7
- params['credit_card_processed'] == 'Y'
6
+
7
+ # card_holder_name - Provides the customer’s name.
8
+ # city - Provides the customer’s city.
9
+ # country - Provides the customer’s country.
10
+ # credit_card_processed - This parameter will always be passed back as Y.
11
+ # demo - Defines if an order was live, or if the order was a demo order. If the order was a demo, the MD5 hash will fail.
12
+ # email - Provides the email address the customer provided when placing the order.
13
+ # fixed - This parameter will only be passed back if it was passed into the purchase routine.
14
+ # ip_country - Provides the customer’s IP location.
15
+ # key - An MD5 hash used to confirm the validity of a sale.
16
+ # lang - Customer language
17
+ # merchant_order_id - The order ID you had assigned to the order.
18
+ # order_number - The 2Checkout order number associated with the order.
19
+ # invoice_id - The 2Checkout invoice number.
20
+ # pay_method - Provides seller with the customer’s payment method. CC for Credit Card, PPI for PayPal.
21
+ # phone - Provides the phone number the customer provided when placing the order.
22
+ # ship_name - Provides the ship to name for the order.
23
+ # ship_street_address - Provides ship to address.
24
+ # ship_street_address2 - Provides more detailed shipping address if this information was provided by the customer.
25
+ # ship_city - Provides ship to city.
26
+ # ship_state - Provides ship to state.
27
+ # ship_zip - Ship Zip
28
+
29
+ # Pass Through Products Only
30
+ # li_#_name - Name of the corresponding lineitem.
31
+ # li_#_quantity - Quantity of the corresponding lineitem.
32
+ # li_#_price - Price of the corresponding lineitem.
33
+ # li_#_tangible - Specifies if the corresponding li_#_type is a tangible or intangible. ‘Y’ OR ‘N’
34
+ # li_#_product_id - ID of the corresponding lineitem.
35
+ # li_#_product_description - Description of the corresponding lineitem.
36
+ # li_#_recurrence - # WEEK | MONTH | YEAR – always singular.
37
+ # li_#_duration - Forever or # WEEK | MONTH | YEAR – always singular, defaults to Forever.
38
+ # li_#_startup_fee - Amount in account pricing currency.
39
+ # li_#_option_#_name - Name of option. 64 characters max – cannot include '<' or '>'.
40
+ # li_#_option_#_value - Name of option. 64 characters max – cannot include '<' or '>'.
41
+ # li_#_option_#_surcharge - Amount in account pricing currency.
42
+
43
+ #Third Party Cart Only
44
+ # cart_order_id - The order ID you had assigned to the order
45
+
46
+ def initialize(query_string, options = {})
47
+ super
48
+ @notification = Notification.new(query_string, options)
8
49
  end
9
-
10
- def message
11
-
50
+
51
+ def success?
52
+ @notification.status != 'Failed'
12
53
  end
13
- end
54
+ end
14
55
  end
15
56
  end
16
57
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveMerchant
2
- VERSION = "1.42.4"
2
+ VERSION = "1.42.5"
3
3
  end
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.42.4
4
+ version: 1.42.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Luetke
@@ -38,7 +38,7 @@ cert_chain:
38
38
  U1BPVm5oYkZKM3ZTWFkxdWxQL1I2WFc5dm53CjZra1FpMmZIaFUyMHVnTXpw
39
39
  ODgxRWl4citUakMwUnZVZXJMRzdnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUt
40
40
  LS0tLQo=
41
- date: 2014-01-08 00:00:00.000000000 Z
41
+ date: 2014-02-07 00:00:00.000000000 Z
42
42
  dependencies:
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: activesupport
@@ -255,7 +255,6 @@ 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/card_stream_modern.rb
259
258
  - lib/active_merchant/billing/gateways/cc5.rb
260
259
  - lib/active_merchant/billing/gateways/certo_direct.rb
261
260
  - lib/active_merchant/billing/gateways/conekta.rb
@@ -412,6 +411,10 @@ files:
412
411
  - lib/active_merchant/billing/integrations/directebanking/notification.rb
413
412
  - lib/active_merchant/billing/integrations/directebanking/return.rb
414
413
  - lib/active_merchant/billing/integrations/directebanking.rb
414
+ - lib/active_merchant/billing/integrations/doku/helper.rb
415
+ - lib/active_merchant/billing/integrations/doku/notification.rb
416
+ - lib/active_merchant/billing/integrations/doku/return.rb
417
+ - lib/active_merchant/billing/integrations/doku.rb
415
418
  - lib/active_merchant/billing/integrations/dotpay/helper.rb
416
419
  - lib/active_merchant/billing/integrations/dotpay/notification.rb
417
420
  - lib/active_merchant/billing/integrations/dotpay/return.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,156 +0,0 @@
1
- module ActiveMerchant #:nodoc:
2
- module Billing #:nodoc:
3
- class CardStreamModernGateway < Gateway
4
- self.test_url = self.live_url = 'https://gateway.cardstream.com/direct/'
5
- self.money_format = :cents
6
- self.default_currency = 'GBP'
7
- self.supported_countries = ['GB']
8
- self.supported_cardtypes = [:visa, :master, :american_express, :diners_club, :discover, :jcb, :maestro, :solo, :switch]
9
- self.homepage_url = 'http://www.cardstream.com/'
10
- self.display_name = 'CardStream'
11
-
12
- def initialize(options = {})
13
- requires!(options, :login)
14
- if(options[:threeDSRequired])
15
- @threeDSRequired = options[:threeDSRequired]
16
- else
17
- @threeDSRequired = 'N'
18
- end
19
- super
20
- end
21
-
22
- def authorize(money, creditcard, options = {})
23
- post = {}
24
- add_amount(post, money, options)
25
- add_invoice(post, creditcard, money, options)
26
- add_creditcard(post, creditcard)
27
- add_address(post, creditcard, options)
28
- add_customer_data(post, options)
29
- commit('PREAUTH', post)
30
- end
31
-
32
- def purchase(money, creditcard, options = {})
33
- post = {}
34
- add_amount(post, money, options)
35
- add_invoice(post, creditcard, money, options)
36
- add_creditcard(post, creditcard)
37
- add_address(post, creditcard, options)
38
- add_customer_data(post, options)
39
- commit('SALE', post)
40
- end
41
-
42
- def capture(money, authorization, options = {})
43
- post = {}
44
- add_pair(post, :xref, authorization)
45
- add_amount(post, money, options)
46
- commit('SALE', post)
47
- end
48
-
49
- def refund(money, authorization, options = {})
50
- post = {}
51
- add_pair(post, :xref, authorization)
52
- add_amount(post, money, options)
53
- commit('REFUND', post)
54
- end
55
-
56
- def void(authorization, options = {})
57
- post = {}
58
- add_pair(post, :xref, authorization)
59
- commit('REFUND', post)
60
- end
61
-
62
- private
63
-
64
- def add_amount(post, money, options)
65
- add_pair(post, :amount, amount(money), :required => true)
66
- add_pair(post, :currencyCode, options[:currency] || self.default_currency)
67
- end
68
-
69
- def add_customer_data(post, options)
70
- address = options[:billing_address] || options[:address]
71
- add_pair(post, :customerPostCode, address[:zip])
72
- add_pair(post, :customerEmail, options[:email])
73
- add_pair(post, :customerPhone, options[:phone])
74
- end
75
-
76
- def add_address(post, creditcard, options)
77
- address = options[:billing_address] || options[:address]
78
-
79
- return if address.nil?
80
-
81
- add_pair(post, :customerAddress, address[:address1] + " " + (address[:address2].nil? ? "" : address[:address2]) )
82
- add_pair(post, :customerPostCode, address[:zip])
83
- end
84
-
85
- def add_invoice(post, credit_card, money, options)
86
- add_pair(post, :transactionUnique, options[:order_id], :required => true)
87
- add_pair(post, :orderRef, options[:description] || options[:order_id], :required => true)
88
- if [ 'american_express', 'diners_club' ].include?(card_brand(credit_card).to_s)
89
- add_pair(post, :item1Quantity, 1)
90
- add_pair(post, :item1Description, (options[:description] || options[:order_id]).slice(0, 15))
91
- add_pair(post, :item1GrossValue, amount(money))
92
- end
93
- end
94
-
95
- def add_creditcard(post, credit_card)
96
- add_pair(post, :customerName, credit_card.name, :required => true)
97
- add_pair(post, :cardNumber, credit_card.number, :required => true)
98
-
99
- add_pair(post, :cardExpiryMonth, format(credit_card.month, :two_digits), :required => true)
100
- add_pair(post, :cardExpiryYear, format(credit_card.year, :two_digits), :required => true)
101
-
102
- if requires_start_date_or_issue_number?(credit_card)
103
- add_pair(post, :cardStartMonth, format(credit_card.start_month, :two_digits))
104
- add_pair(post, :cardStartYear, format(credit_card.start_year, :two_digits))
105
-
106
- add_pair(post, :cardIssueNumber, credit_card.issue_number)
107
- end
108
-
109
- add_pair(post, :cardCVV, credit_card.verification_value)
110
- end
111
-
112
- def parse(body)
113
- result = {}
114
- pairs = body.split("&")
115
- pairs.each do |pair|
116
- a = pair.split("=")
117
- #Make sure there is a value, else set it to empty string
118
- result[a[0].to_sym] = a[1] ? CGI.unescape(a[1]) : ""
119
- end
120
- result
121
- end
122
-
123
- def commit(action, parameters)
124
- response = parse( ssl_post(self.live_url, post_data(action, parameters)) )
125
-
126
- Response.new(response[:responseCode] == "0",
127
- response[:responseCode] == "0" ? "APPROVED" : response[:responseMessage],
128
- response,
129
- :test => test?,
130
- :authorization => response[:xref],
131
- :avs_result => {
132
- :street_match => response[:addressCheck],
133
- :postal_match => response[:postcodeCheck],
134
- },
135
- :cvv_result => response[:cv2Check]
136
- )
137
- end
138
-
139
- def post_data(action, parameters = {})
140
- parameters.update(
141
- :merchantID => @options[:login],
142
- :action => action,
143
- :type => '1', #Ecommerce
144
- :countryCode => self.supported_countries[0],
145
- :threeDSRequired => @threeDSRequired #Disable 3d secure by default
146
- )
147
- parameters.collect { |key, value| "#{key}=#{CGI.escape(value.to_s)}" }.join("&")
148
- end
149
-
150
- def add_pair(post, key, value, options = {})
151
- post[key] = value if !value.blank? || options[:required]
152
- end
153
- end
154
- end
155
- end
156
-