activemerchant 1.110.0 → 1.111.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.
- checksums.yaml +4 -4
- data/CHANGELOG +6 -0
- data/lib/active_merchant/billing/gateways/cyber_source.rb +7 -0
- data/lib/active_merchant/billing/gateways/fat_zebra.rb +5 -3
- data/lib/active_merchant/billing/gateways/global_collect.rb +5 -0
- data/lib/active_merchant/billing/gateways/realex.rb +1 -0
- data/lib/active_merchant/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 680a672c616e4c329cc7fb7cafdd72c417615f6d523c3079f271147f94af6d55
|
4
|
+
data.tar.gz: 2b16a9718878e8c7334ac0d7afbc80b605a525d4c267dc952bb25dbf15eb758f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c59f0a8f9b0aa19abba63ca244be4ddc9537d9802858f8453eaef59a4015e2ab6ba9cfbd9fcdc6e1601854804de838d615f2621cb267d571ffa57adadcf6c063
|
7
|
+
data.tar.gz: 3d2feb5a78bc21d2f844ff8c16c233cee05a29f1e260dc5b8c47a829ac4c3ee11c7ec5d8f29208b9408ab0c78334840623b557a87410e1a48bc204a01cd23163
|
data/CHANGELOG
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
== HEAD
|
4
4
|
|
5
|
+
== Version 1.111.0
|
6
|
+
* Fat Zebra: standardized 3DS fields and card on file extra data for Visa scheme rules [montdidier] #3409
|
7
|
+
* Realex: Change 3DSecure v1 message_version to a valid format [shuhala] #3702
|
8
|
+
* Ingenico/ GlobalCollect: Add field for installments [cdmackeyfree] #3707
|
9
|
+
* Cybersource: do not send 3DS fields if 'cavv` is missing and `commerceIndicator` is inferred [bbraschi] #3712
|
10
|
+
|
5
11
|
== Version 1.110.0
|
6
12
|
* FirstData e4 v27+: Strip linebreaks from address [curiousepic] #3693
|
7
13
|
* Adyen: Change shopper_email to email and shopper_ip to ip [rikterbeek] #3675
|
@@ -612,6 +612,9 @@ module ActiveMerchant #:nodoc:
|
|
612
612
|
def add_normalized_threeds_2_data(xml, payment_method, options)
|
613
613
|
threeds_2_options = options[:three_d_secure]
|
614
614
|
cc_brand = card_brand(payment_method).to_sym
|
615
|
+
|
616
|
+
return if threeds_2_options[:cavv].blank? && infer_commerce_indicator?(options, cc_brand)
|
617
|
+
|
615
618
|
xid = threeds_2_options[:xid]
|
616
619
|
|
617
620
|
xml.tag!('cavv', threeds_2_options[:cavv]) if threeds_2_options[:cavv] && cc_brand != :master
|
@@ -632,6 +635,10 @@ module ActiveMerchant #:nodoc:
|
|
632
635
|
xml.tag!('paresStatus', threeds_2_options[:authentication_response_status]) if threeds_2_options[:authentication_response_status]
|
633
636
|
end
|
634
637
|
|
638
|
+
def infer_commerce_indicator?(options, cc_brand)
|
639
|
+
options[:commerce_indicator].blank? && ECI_BRAND_MAPPING[cc_brand].present?
|
640
|
+
end
|
641
|
+
|
635
642
|
def add_threeds_2_ucaf_data(xml, payment_method, options)
|
636
643
|
return unless options[:three_d_secure] && card_brand(payment_method).to_sym == :master
|
637
644
|
|
@@ -125,11 +125,13 @@ module ActiveMerchant #:nodoc:
|
|
125
125
|
def add_extra_options(post, options)
|
126
126
|
extra = {}
|
127
127
|
extra[:ecm] = '32' if options[:recurring]
|
128
|
-
extra[:cavv] = options[:cavv] if options[:cavv]
|
129
|
-
extra[:xid] = options[:xid] if options[:xid]
|
130
|
-
extra[:sli] = options[:sli] if options[:sli]
|
128
|
+
extra[:cavv] = options[:cavv] || options.dig(:three_d_secure, :cavv) if options[:cavv] || options.dig(:three_d_secure, :cavv)
|
129
|
+
extra[:xid] = options[:xid] || options.dig(:three_d_secure, :xid) if options[:xid] || options.dig(:three_d_secure, :xid)
|
130
|
+
extra[:sli] = options[:sli] || options.dig(:three_d_secure, :eci) if options[:sli] || options.dig(:three_d_secure, :eci)
|
131
131
|
extra[:name] = options[:merchant] if options[:merchant]
|
132
132
|
extra[:location] = options[:merchant_location] if options[:merchant_location]
|
133
|
+
extra[:card_on_file] = options.dig(:extra, :card_on_file) if options.dig(:extra, :card_on_file)
|
134
|
+
extra[:auth_reason] = options.dig(:extra, :auth_reason) if options.dig(:extra, :auth_reason)
|
133
135
|
post[:extra] = extra if extra.any?
|
134
136
|
end
|
135
137
|
|
@@ -100,6 +100,7 @@ module ActiveMerchant #:nodoc:
|
|
100
100
|
'invoiceNumber' => options[:invoice]
|
101
101
|
}
|
102
102
|
add_airline_data(post, options) if options[:airline_data]
|
103
|
+
add_number_of_installments(post, options) if options[:number_of_installments]
|
103
104
|
end
|
104
105
|
|
105
106
|
def add_airline_data(post, options)
|
@@ -231,6 +232,10 @@ module ActiveMerchant #:nodoc:
|
|
231
232
|
post['fraudFields'] = fraud_fields unless fraud_fields.empty?
|
232
233
|
end
|
233
234
|
|
235
|
+
def add_number_of_installments(post, options)
|
236
|
+
post['order']['additionalInput']['numberOfInstallments'] = options[:number_of_installments] if options[:number_of_installments]
|
237
|
+
end
|
238
|
+
|
234
239
|
def parse(body)
|
235
240
|
JSON.parse(body)
|
236
241
|
end
|
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.111.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: 2020-
|
11
|
+
date: 2020-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -100,6 +100,20 @@ dependencies:
|
|
100
100
|
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: pry-byebug
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
103
117
|
- !ruby/object:Gem::Dependency
|
104
118
|
name: rake
|
105
119
|
requirement: !ruby/object:Gem::Requirement
|