activemerchant 1.82.0 → 1.83.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +15 -0
- data/lib/active_merchant/billing/gateways/adyen.rb +6 -1
- data/lib/active_merchant/billing/gateways/braintree_blue.rb +1 -1
- data/lib/active_merchant/billing/gateways/clearhaus.rb +1 -1
- data/lib/active_merchant/billing/gateways/ct_payment.rb +3 -2
- data/lib/active_merchant/billing/gateways/ebanx.rb +4 -4
- data/lib/active_merchant/billing/gateways/first_pay.rb +11 -0
- data/lib/active_merchant/billing/gateways/global_collect.rb +9 -8
- data/lib/active_merchant/billing/gateways/optimal_payment.rb +3 -1
- data/lib/active_merchant/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bec7d7bb4488b4a853885b567cbe5533dce6e6f
|
4
|
+
data.tar.gz: 3b7150eafd6d15ef759badc91f2f36239564b2ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3dd7a5f0297f25668644ffc21512f28da4a5a8745f94c01892888ac06fe932ea023e7c0cb248c015322aade52304dce13f50f2cb22b885eeff7352bc973c1e86
|
7
|
+
data.tar.gz: 7b8157e7de8ca025be5d412663b7af949f312c981d23a890b638ba6afb2b858dccab8b4a6c4f2c7725709613558a5507323ab9aefc77e8af9ab270688e6d5b72
|
data/CHANGELOG
CHANGED
@@ -1,6 +1,21 @@
|
|
1
1
|
= ActiveMerchant CHANGELOG
|
2
2
|
|
3
3
|
== HEAD
|
4
|
+
|
5
|
+
== Version 1.83.0 (August 30, 2018)
|
6
|
+
* CT Payment: Update How Address is Passed [nfarve] #2960
|
7
|
+
* Adyen: Add RecurringProcessingModel [nfarve] #2951
|
8
|
+
* Optimal Payments: update country list [bpollack] #2961
|
9
|
+
* Ebanx: update sandbox and production URLs [vnbrs] #2949
|
10
|
+
* Ebanx: support additional countries [vnbrs] #2950
|
11
|
+
* Gateway generator: fix a typo that would cause the script to crash [bpollack] #2962
|
12
|
+
* Clearhaus: use $0 for verify transactions [bpollack] #2964
|
13
|
+
* Global Collect: properly handle partial captures [bpollack] #2967
|
14
|
+
* Braintree: Add support for GooglePay [dtykocki] [#2966]
|
15
|
+
* Adyen: allow overriding card brands [bpollack] #2968
|
16
|
+
* Adyen: allow custom routing [bpollack] #2969
|
17
|
+
* First Pay: Adds scrubbing [deedeelavinder] #2972
|
18
|
+
|
4
19
|
== Version 1.82.0 (August 13, 2018)
|
5
20
|
* FirstData: add support for WalletProviderID in v27 gateway [bpollack] #2946
|
6
21
|
* BlueSnap: Handle 403 responses [curiousepic] #2948
|
@@ -114,9 +114,13 @@ module ActiveMerchant #:nodoc:
|
|
114
114
|
post[:shopperIP] = options[:shopper_ip] if options[:shopper_ip]
|
115
115
|
post[:shopperReference] = options[:shopper_reference] if options[:shopper_reference]
|
116
116
|
post[:fraudOffset] = options[:fraud_offset] if options[:fraud_offset]
|
117
|
-
post[:selectedBrand] = options[:selected_brand]
|
117
|
+
post[:selectedBrand] = options[:selected_brand] if options[:selected_brand]
|
118
|
+
post[:selectedBrand] ||= NETWORK_TOKENIZATION_CARD_SOURCE[payment.source.to_s] if payment.is_a?(NetworkTokenizationCreditCard)
|
118
119
|
post[:deliveryDate] = options[:delivery_date] if options[:delivery_date]
|
119
120
|
post[:merchantOrderReference] = options[:merchant_order_reference] if options[:merchant_order_reference]
|
121
|
+
post[:additionalData] ||= {}
|
122
|
+
post[:additionalData][:overwriteBrand] = normalize(options[:overwrite_brand]) if options[:overwrite_brand]
|
123
|
+
post[:additionalData][:customRoutingFlag] = options[:custom_routing_flag] if options[:custom_routing_flag]
|
120
124
|
end
|
121
125
|
|
122
126
|
def add_shopper_interaction(post, payment, options={})
|
@@ -148,6 +152,7 @@ module ActiveMerchant #:nodoc:
|
|
148
152
|
currency: options[:currency] || currency(money)
|
149
153
|
}
|
150
154
|
post[:amount] = amount
|
155
|
+
post[:recurringProcessingModel] = options[:recurring_processing_model] if options[:recurring_processing_model]
|
151
156
|
end
|
152
157
|
|
153
158
|
def add_invoice_for_modification(post, money, options)
|
@@ -598,7 +598,7 @@ module ActiveMerchant #:nodoc:
|
|
598
598
|
:cryptogram => credit_card_or_vault_id.payment_cryptogram,
|
599
599
|
:eci_indicator => credit_card_or_vault_id.eci
|
600
600
|
}
|
601
|
-
|
601
|
+
elsif credit_card_or_vault_id.source == :android_pay || credit_card_or_vault_id.source == :google_pay
|
602
602
|
parameters[:android_pay_card] = {
|
603
603
|
:number => credit_card_or_vault_id.number,
|
604
604
|
:cryptogram => credit_card_or_vault_id.payment_cryptogram,
|
@@ -88,7 +88,7 @@ module ActiveMerchant #:nodoc:
|
|
88
88
|
|
89
89
|
def verify(credit_card, options={})
|
90
90
|
MultiResponse.run(:use_first_response) do |r|
|
91
|
-
r.process { authorize(
|
91
|
+
r.process { authorize(0, credit_card, options) }
|
92
92
|
r.process(:ignore_result) { void(r.authorization, options) }
|
93
93
|
end
|
94
94
|
end
|
@@ -120,6 +120,7 @@ module ActiveMerchant #:nodoc:
|
|
120
120
|
add_operator_id(post, options)
|
121
121
|
add_invoice(post,0, options)
|
122
122
|
add_payment(post, credit_card)
|
123
|
+
add_address(post, credit_card, options)
|
123
124
|
add_customer_data(post, options)
|
124
125
|
|
125
126
|
commit('verifyAccount', post)
|
@@ -171,7 +172,7 @@ module ActiveMerchant #:nodoc:
|
|
171
172
|
|
172
173
|
def add_address(post, creditcard, options)
|
173
174
|
if address = options[:billing_address] || options[:address]
|
174
|
-
post[:CardHolderAddress] = ("#{address[:address1]} #{address[:address2]}").rjust(20, ' ')
|
175
|
+
post[:CardHolderAddress] = ("#{address[:address1]} #{address[:address2]} #{address[:city]} #{address[:state]}").rjust(20, ' ')
|
175
176
|
post[:CardHolderPostalCode] = address[:zip].gsub(/\s+/, '').rjust(9, ' ')
|
176
177
|
end
|
177
178
|
end
|
@@ -206,7 +207,7 @@ module ActiveMerchant #:nodoc:
|
|
206
207
|
url = (test? ? test_url : live_url) + action
|
207
208
|
response = parse(ssl_post(url, post_data(action, parameters)))
|
208
209
|
|
209
|
-
|
210
|
+
Response.new(
|
210
211
|
success_from(response),
|
211
212
|
message_from(response),
|
212
213
|
response,
|
@@ -1,15 +1,15 @@
|
|
1
1
|
module ActiveMerchant #:nodoc:
|
2
2
|
module Billing #:nodoc:
|
3
3
|
class EbanxGateway < Gateway
|
4
|
-
self.test_url = 'https://sandbox.
|
5
|
-
self.live_url = 'https://api.
|
4
|
+
self.test_url = 'https://sandbox.ebanxpay.com/ws/'
|
5
|
+
self.live_url = 'https://api.ebanxpay.com/ws/'
|
6
6
|
|
7
|
-
self.supported_countries = ['BR', 'MX', 'CO']
|
7
|
+
self.supported_countries = ['BR', 'MX', 'CO', 'CL', 'AR']
|
8
8
|
self.default_currency = 'USD'
|
9
9
|
self.supported_cardtypes = [:visa, :master, :american_express, :discover, :diners_club]
|
10
10
|
|
11
11
|
self.homepage_url = 'http://www.ebanx.com/'
|
12
|
-
self.display_name = '
|
12
|
+
self.display_name = 'EBANX'
|
13
13
|
|
14
14
|
CARD_BRAND = {
|
15
15
|
visa: 'visa',
|
@@ -56,6 +56,17 @@ module ActiveMerchant #:nodoc:
|
|
56
56
|
commit('void', post)
|
57
57
|
end
|
58
58
|
|
59
|
+
def supports_scrubbing?
|
60
|
+
true
|
61
|
+
end
|
62
|
+
|
63
|
+
def scrub(transcript)
|
64
|
+
transcript.
|
65
|
+
gsub(%r((gateway_id)[^<]*(</FIELD>))i, '\1[FILTERED]\2').
|
66
|
+
gsub(%r((card_number)[^<]*(</FIELD>))i, '\1[FILTERED]\2').
|
67
|
+
gsub(%r((cvv2)[^<]*(</FIELD>))i, '\1[FILTERED]\2')
|
68
|
+
end
|
69
|
+
|
59
70
|
private
|
60
71
|
|
61
72
|
def add_authentication(post, options)
|
@@ -4,8 +4,8 @@ module ActiveMerchant #:nodoc:
|
|
4
4
|
self.display_name = 'GlobalCollect'
|
5
5
|
self.homepage_url = 'http://www.globalcollect.com/'
|
6
6
|
|
7
|
-
self.test_url = 'https://eu.sandbox.api-ingenico.com
|
8
|
-
self.live_url = 'https://api.globalcollect.com
|
7
|
+
self.test_url = 'https://eu.sandbox.api-ingenico.com'
|
8
|
+
self.live_url = 'https://api.globalcollect.com'
|
9
9
|
|
10
10
|
self.supported_countries = ['AD', 'AE', 'AG', 'AI', 'AL', 'AM', 'AO', 'AR', 'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BQ', 'BR', 'BS', 'BT', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'ER', 'ES', 'ET', 'FI', 'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT', 'GU', 'GW', 'GY', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IM', 'IN', 'IS', 'IT', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG', 'MH', 'MK', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU', 'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH', 'PL', 'PN', 'PS', 'PT', 'PW', 'QA', 'RE', 'RO', 'RS', 'RU', 'RW', 'SA', 'SB', 'SC', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK', 'SL', 'SM', 'SN', 'SR', 'ST', 'SV', 'SZ', 'TC', 'TD', 'TG', 'TH', 'TJ', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'US', 'UY', 'UZ', 'VC', 'VE', 'VG', 'VI', 'VN', 'WF', 'WS', 'ZA', 'ZM', 'ZW']
|
11
11
|
self.default_currency = 'USD'
|
@@ -38,7 +38,7 @@ module ActiveMerchant #:nodoc:
|
|
38
38
|
|
39
39
|
def capture(money, authorization, options={})
|
40
40
|
post = nestable_hash
|
41
|
-
add_order(post, money, options)
|
41
|
+
add_order(post, money, options, capture: true)
|
42
42
|
add_customer_data(post, options)
|
43
43
|
add_creator_info(post, options)
|
44
44
|
commit(:capture, post, authorization)
|
@@ -87,11 +87,12 @@ module ActiveMerchant #:nodoc:
|
|
87
87
|
'diners_club' => '132'
|
88
88
|
}
|
89
89
|
|
90
|
-
def add_order(post, money, options)
|
91
|
-
|
92
|
-
'amount'
|
93
|
-
|
94
|
-
|
90
|
+
def add_order(post, money, options, capture: false)
|
91
|
+
if capture
|
92
|
+
post['amount'] = amount(money)
|
93
|
+
else
|
94
|
+
add_amount(post['order'], money, options)
|
95
|
+
end
|
95
96
|
post['order']['references'] = {
|
96
97
|
'merchantReference' => options[:order_id],
|
97
98
|
'descriptor' => options[:description] # Max 256 chars
|
@@ -5,7 +5,9 @@ module ActiveMerchant #:nodoc:
|
|
5
5
|
self.live_url = 'https://webservices.optimalpayments.com/creditcardWS/CreditCardServlet/v1'
|
6
6
|
|
7
7
|
# The countries the gateway supports merchants from as 2 digit ISO country codes
|
8
|
-
self.supported_countries = ['CA', 'US', 'GB'
|
8
|
+
self.supported_countries = ['CA', 'US', 'GB', 'AU', 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK',
|
9
|
+
'EE', 'FI', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT',
|
10
|
+
'NL', 'NO', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'CH']
|
9
11
|
|
10
12
|
# The card types supported by the payment gateway
|
11
13
|
self.supported_cardtypes = [:visa, :master, :american_express, :discover, :diners_club, :solo] # :switch?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activemerchant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.83.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Luetke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|