activemerchant 1.108.0 → 1.109.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 +28 -0
- data/lib/active_merchant/billing/base.rb +0 -13
- data/lib/active_merchant/billing/check.rb +1 -1
- data/lib/active_merchant/billing/credit_card.rb +2 -0
- data/lib/active_merchant/billing/credit_card_methods.rb +9 -6
- data/lib/active_merchant/billing/gateways/adyen.rb +8 -8
- data/lib/active_merchant/billing/gateways/allied_wallet.rb +2 -2
- data/lib/active_merchant/billing/gateways/authorize_net.rb +7 -7
- data/lib/active_merchant/billing/gateways/authorize_net_arb.rb +3 -3
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +3 -3
- data/lib/active_merchant/billing/gateways/axcessms.rb +1 -1
- data/lib/active_merchant/billing/gateways/balanced.rb +1 -1
- data/lib/active_merchant/billing/gateways/bambora_apac.rb +2 -2
- data/lib/active_merchant/billing/gateways/bank_frick.rb +2 -2
- data/lib/active_merchant/billing/gateways/banwire.rb +2 -2
- data/lib/active_merchant/billing/gateways/barclaycard_smartpay.rb +2 -2
- data/lib/active_merchant/billing/gateways/barclays_epdq_extra_plus.rb +1 -1
- data/lib/active_merchant/billing/gateways/be2bill.rb +1 -1
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +4 -4
- data/lib/active_merchant/billing/gateways/blue_pay.rb +2 -2
- data/lib/active_merchant/billing/gateways/blue_snap.rb +1 -1
- data/lib/active_merchant/billing/gateways/borgun.rb +3 -3
- data/lib/active_merchant/billing/gateways/bpoint.rb +1 -1
- data/lib/active_merchant/billing/gateways/braintree/braintree_common.rb +1 -1
- data/lib/active_merchant/billing/gateways/braintree_blue.rb +78 -28
- data/lib/active_merchant/billing/gateways/bridge_pay.rb +2 -2
- data/lib/active_merchant/billing/gateways/cams.rb +2 -2
- data/lib/active_merchant/billing/gateways/card_connect.rb +1 -1
- data/lib/active_merchant/billing/gateways/card_save.rb +1 -1
- data/lib/active_merchant/billing/gateways/card_stream.rb +4 -4
- data/lib/active_merchant/billing/gateways/cardknox.rb +4 -4
- data/lib/active_merchant/billing/gateways/cardprocess.rb +1 -1
- data/lib/active_merchant/billing/gateways/cashnet.rb +1 -1
- data/lib/active_merchant/billing/gateways/cecabank.rb +1 -1
- data/lib/active_merchant/billing/gateways/cenpos.rb +12 -12
- data/lib/active_merchant/billing/gateways/checkout.rb +3 -3
- data/lib/active_merchant/billing/gateways/checkout_v2.rb +2 -2
- data/lib/active_merchant/billing/gateways/citrus_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/clearhaus.rb +3 -3
- data/lib/active_merchant/billing/gateways/commercegate.rb +1 -1
- data/lib/active_merchant/billing/gateways/conekta.rb +1 -1
- data/lib/active_merchant/billing/gateways/creditcall.rb +1 -1
- data/lib/active_merchant/billing/gateways/credorax.rb +6 -2
- data/lib/active_merchant/billing/gateways/ct_payment.rb +2 -2
- data/lib/active_merchant/billing/gateways/culqi.rb +1 -1
- data/lib/active_merchant/billing/gateways/cyber_source.rb +13 -4
- data/lib/active_merchant/billing/gateways/d_local.rb +7 -3
- data/lib/active_merchant/billing/gateways/data_cash.rb +1 -1
- data/lib/active_merchant/billing/gateways/dibs.rb +2 -2
- data/lib/active_merchant/billing/gateways/digitzs.rb +2 -2
- data/lib/active_merchant/billing/gateways/ebanx.rb +4 -4
- data/lib/active_merchant/billing/gateways/efsnet.rb +2 -2
- data/lib/active_merchant/billing/gateways/elavon.rb +1 -1
- data/lib/active_merchant/billing/gateways/element.rb +3 -3
- data/lib/active_merchant/billing/gateways/epay.rb +3 -3
- data/lib/active_merchant/billing/gateways/evo_ca.rb +1 -1
- data/lib/active_merchant/billing/gateways/eway.rb +1 -1
- data/lib/active_merchant/billing/gateways/eway_managed.rb +1 -1
- data/lib/active_merchant/billing/gateways/eway_rapid.rb +2 -2
- data/lib/active_merchant/billing/gateways/exact.rb +3 -3
- data/lib/active_merchant/billing/gateways/ezic.rb +1 -1
- data/lib/active_merchant/billing/gateways/fat_zebra.rb +4 -4
- data/lib/active_merchant/billing/gateways/federated_canada.rb +1 -1
- data/lib/active_merchant/billing/gateways/finansbank.rb +2 -2
- data/lib/active_merchant/billing/gateways/first_giving.rb +1 -1
- data/lib/active_merchant/billing/gateways/first_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/firstdata_e4.rb +4 -4
- data/lib/active_merchant/billing/gateways/firstdata_e4_v27.rb +3 -3
- data/lib/active_merchant/billing/gateways/flo2cash.rb +10 -10
- data/lib/active_merchant/billing/gateways/forte.rb +2 -2
- data/lib/active_merchant/billing/gateways/garanti.rb +2 -2
- data/lib/active_merchant/billing/gateways/global_collect.rb +5 -5
- data/lib/active_merchant/billing/gateways/global_transport.rb +1 -1
- data/lib/active_merchant/billing/gateways/hdfc.rb +9 -9
- data/lib/active_merchant/billing/gateways/hps.rb +1 -1
- data/lib/active_merchant/billing/gateways/iats_payments.rb +2 -2
- data/lib/active_merchant/billing/gateways/inspire.rb +1 -1
- data/lib/active_merchant/billing/gateways/instapay.rb +1 -1
- data/lib/active_merchant/billing/gateways/ipp.rb +1 -1
- data/lib/active_merchant/billing/gateways/iridium.rb +3 -3
- data/lib/active_merchant/billing/gateways/itransact.rb +1 -1
- data/lib/active_merchant/billing/gateways/iveri.rb +2 -2
- data/lib/active_merchant/billing/gateways/ixopay.rb +1 -1
- data/lib/active_merchant/billing/gateways/jetpay.rb +2 -2
- data/lib/active_merchant/billing/gateways/jetpay_v2.rb +2 -2
- data/lib/active_merchant/billing/gateways/komoju.rb +1 -1
- data/lib/active_merchant/billing/gateways/kushki.rb +4 -4
- data/lib/active_merchant/billing/gateways/latitude19.rb +2 -2
- data/lib/active_merchant/billing/gateways/linkpoint.rb +2 -2
- data/lib/active_merchant/billing/gateways/litle.rb +4 -4
- data/lib/active_merchant/billing/gateways/maxipago.rb +2 -2
- data/lib/active_merchant/billing/gateways/mercado_pago.rb +11 -6
- data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +1 -1
- data/lib/active_merchant/billing/gateways/merchant_one.rb +2 -2
- data/lib/active_merchant/billing/gateways/merchant_partners.rb +1 -1
- data/lib/active_merchant/billing/gateways/merchant_ware.rb +1 -1
- data/lib/active_merchant/billing/gateways/merchant_ware_version_four.rb +1 -1
- data/lib/active_merchant/billing/gateways/merchant_warrior.rb +2 -2
- data/lib/active_merchant/billing/gateways/mercury.rb +4 -4
- data/lib/active_merchant/billing/gateways/metrics_global.rb +1 -1
- data/lib/active_merchant/billing/gateways/micropayment.rb +2 -2
- data/lib/active_merchant/billing/gateways/migs.rb +1 -1
- data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +1 -1
- data/lib/active_merchant/billing/gateways/monei.rb +2 -2
- data/lib/active_merchant/billing/gateways/moneris.rb +17 -17
- data/lib/active_merchant/billing/gateways/money_movers.rb +1 -1
- data/lib/active_merchant/billing/gateways/mundipagg.rb +1 -1
- data/lib/active_merchant/billing/gateways/nab_transact.rb +2 -2
- data/lib/active_merchant/billing/gateways/ncr_secure_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/net_registry.rb +2 -2
- data/lib/active_merchant/billing/gateways/netaxept.rb +2 -2
- data/lib/active_merchant/billing/gateways/netbanx.rb +46 -22
- data/lib/active_merchant/billing/gateways/netbilling.rb +2 -2
- data/lib/active_merchant/billing/gateways/netpay.rb +2 -2
- data/lib/active_merchant/billing/gateways/network_merchants.rb +1 -1
- data/lib/active_merchant/billing/gateways/nmi.rb +4 -4
- data/lib/active_merchant/billing/gateways/ogone.rb +2 -2
- data/lib/active_merchant/billing/gateways/omise.rb +1 -1
- data/lib/active_merchant/billing/gateways/openpay.rb +1 -1
- data/lib/active_merchant/billing/gateways/opp.rb +1 -1
- data/lib/active_merchant/billing/gateways/optimal_payment.rb +4 -4
- data/lib/active_merchant/billing/gateways/orbital.rb +6 -6
- data/lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb +1 -1
- data/lib/active_merchant/billing/gateways/pac_net_raven.rb +1 -1
- data/lib/active_merchant/billing/gateways/pagarme.rb +2 -2
- data/lib/active_merchant/billing/gateways/pago_facil.rb +1 -1
- data/lib/active_merchant/billing/gateways/pay_conex.rb +1 -1
- data/lib/active_merchant/billing/gateways/pay_gate_xml.rb +2 -2
- data/lib/active_merchant/billing/gateways/pay_hub.rb +1 -1
- data/lib/active_merchant/billing/gateways/pay_junction.rb +3 -3
- data/lib/active_merchant/billing/gateways/pay_junction_v2.rb +2 -2
- data/lib/active_merchant/billing/gateways/pay_secure.rb +1 -1
- data/lib/active_merchant/billing/gateways/paybox_direct.rb +3 -3
- data/lib/active_merchant/billing/gateways/payeezy.rb +2 -2
- data/lib/active_merchant/billing/gateways/payex.rb +13 -13
- data/lib/active_merchant/billing/gateways/payflow.rb +5 -5
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +1 -1
- data/lib/active_merchant/billing/gateways/payflow_uk.rb +1 -1
- data/lib/active_merchant/billing/gateways/payment_express.rb +1 -1
- data/lib/active_merchant/billing/gateways/paymentez.rb +1 -1
- data/lib/active_merchant/billing/gateways/paymill.rb +1 -1
- data/lib/active_merchant/billing/gateways/paypal.rb +2 -2
- data/lib/active_merchant/billing/gateways/paypal_ca.rb +1 -1
- data/lib/active_merchant/billing/gateways/payscout.rb +1 -1
- data/lib/active_merchant/billing/gateways/paystation.rb +1 -1
- data/lib/active_merchant/billing/gateways/payu_in.rb +1 -1
- data/lib/active_merchant/billing/gateways/payu_latam.rb +6 -7
- data/lib/active_merchant/billing/gateways/payway.rb +1 -1
- data/lib/active_merchant/billing/gateways/pin.rb +1 -1
- data/lib/active_merchant/billing/gateways/plugnpay.rb +5 -5
- data/lib/active_merchant/billing/gateways/pro_pay.rb +2 -2
- data/lib/active_merchant/billing/gateways/psigate.rb +1 -1
- data/lib/active_merchant/billing/gateways/psl_card.rb +2 -2
- data/lib/active_merchant/billing/gateways/qbms.rb +1 -1
- data/lib/active_merchant/billing/gateways/quantum.rb +3 -3
- data/lib/active_merchant/billing/gateways/quickbooks.rb +6 -6
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_common.rb +3 -3
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_v10.rb +4 -4
- data/lib/active_merchant/billing/gateways/qvalent.rb +1 -1
- data/lib/active_merchant/billing/gateways/realex.rb +1 -1
- data/lib/active_merchant/billing/gateways/redsys.rb +4 -4
- data/lib/active_merchant/billing/gateways/s5.rb +1 -1
- data/lib/active_merchant/billing/gateways/safe_charge.rb +2 -2
- data/lib/active_merchant/billing/gateways/sage.rb +3 -3
- data/lib/active_merchant/billing/gateways/sage_pay.rb +3 -3
- data/lib/active_merchant/billing/gateways/sallie_mae.rb +1 -1
- data/lib/active_merchant/billing/gateways/secure_net.rb +1 -1
- data/lib/active_merchant/billing/gateways/secure_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/secure_pay_au.rb +2 -2
- data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +2 -2
- data/lib/active_merchant/billing/gateways/securion_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/skip_jack.rb +5 -5
- data/lib/active_merchant/billing/gateways/so_easy_pay.rb +6 -6
- data/lib/active_merchant/billing/gateways/spreedly_core.rb +1 -1
- data/lib/active_merchant/billing/gateways/stripe.rb +6 -6
- data/lib/active_merchant/billing/gateways/stripe_payment_intents.rb +20 -1
- data/lib/active_merchant/billing/gateways/swipe_checkout.rb +1 -1
- data/lib/active_merchant/billing/gateways/telr.rb +4 -4
- data/lib/active_merchant/billing/gateways/tns.rb +1 -1
- data/lib/active_merchant/billing/gateways/trans_first.rb +2 -2
- data/lib/active_merchant/billing/gateways/trans_first_transaction_express.rb +1 -1
- data/lib/active_merchant/billing/gateways/transact_pro.rb +1 -1
- data/lib/active_merchant/billing/gateways/transax.rb +1 -1
- data/lib/active_merchant/billing/gateways/trexle.rb +1 -1
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +5 -5
- data/lib/active_merchant/billing/gateways/usa_epay_advanced.rb +6 -6
- data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +1 -1
- data/lib/active_merchant/billing/gateways/vanco.rb +1 -1
- data/lib/active_merchant/billing/gateways/verifi.rb +3 -3
- data/lib/active_merchant/billing/gateways/viaklix.rb +1 -1
- data/lib/active_merchant/billing/gateways/visanet_peru.rb +3 -3
- data/lib/active_merchant/billing/gateways/webpay.rb +1 -1
- data/lib/active_merchant/billing/gateways/wepay.rb +2 -2
- data/lib/active_merchant/billing/gateways/wirecard.rb +1 -1
- data/lib/active_merchant/billing/gateways/world_net.rb +35 -35
- data/lib/active_merchant/billing/gateways/worldpay.rb +6 -6
- data/lib/active_merchant/billing/gateways/worldpay_online_payments.rb +1 -1
- data/lib/active_merchant/billing/gateways/worldpay_us.rb +1 -1
- data/lib/active_merchant/version.rb +1 -1
- data/lib/support/gateway_support.rb +1 -1
- metadata +35 -35
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7c4b380a0488ea2f5e78175b1dfa65fee57051b7015f0b890da0bbc38d720b19
|
|
4
|
+
data.tar.gz: 0067c05edeb3396266fdeb63366e56fe4b2c96e9ded24957405798a36d2f4f73
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 789d158841099fcb4fab1873328480657352a44febdcc938bb86897cedd1db568fc5139082272ba4415dde7a8f07dc9f75f93eaea95dab6cc7bc26a01698b091
|
|
7
|
+
data.tar.gz: 4d64a064ffa8d589780a785da3e1eabb2d3633db5c2ce6bbf0cf0998944f7c1bc25e4a09b557f9922bc1fe8b68f2ab2d3ef4a56dd441b9a50646911fdd5075d4
|
data/CHANGELOG
CHANGED
|
@@ -2,6 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
== HEAD
|
|
4
4
|
|
|
5
|
+
== Version 1.109.0
|
|
6
|
+
* Remove reference to `Billing::Integrations` [pi3r] #3692
|
|
7
|
+
* DLocal: Handle nil address1 [molbrown] #3661
|
|
8
|
+
* Braintree: Add travel and lodging fields [leila-alderman] #3668
|
|
9
|
+
* Stripe: strict_encode64 api key [britth] #3672
|
|
10
|
+
* Stripe PI: Implement verify action [leila-alderman] #3662
|
|
11
|
+
* Stripe, Stripe Payment Intents: Update supported countries [britth] #3684
|
|
12
|
+
* Forte: Use underscore for unused arguments in test [wsmoak] #3605
|
|
13
|
+
* Add Alia card type [therufs] #3673
|
|
14
|
+
* Element: Fix unit tests [leila-alderman] #3676
|
|
15
|
+
* PayU Latam: Fix store method [ccarruitero] #2590
|
|
16
|
+
* Adyen: Allow for executeThreeD to be passed as false [naashton] #3681
|
|
17
|
+
* WorldPay: Fix handling of `state` field for 3DS transactions [chinhle23] #3687
|
|
18
|
+
* Alia: Skip Luhn validation [therufs] #3673
|
|
19
|
+
* Diners Club: support 16 digit card numbers [therufs] #3682
|
|
20
|
+
* Cybersource: Update supported countries [britth] #3683
|
|
21
|
+
* Cybersource: pass reconciliation_id [therufs] #3688
|
|
22
|
+
* RuboCop: Fix Style/SpecialGlobalVars [leila-alderman] #3669
|
|
23
|
+
* RuboCop: Fix Style/StringLiteralsInInterpolation [leila-alderman] #3670
|
|
24
|
+
* RuboCop: Fix Layout/HeredocIndentation [leila-alderman] #3685
|
|
25
|
+
* RuboCop: Fix Gemspec/OrderedDependencies [leila-alderman] #3679
|
|
26
|
+
* RuboCop: Fix Style/TrailingUnderscoreVariable [leila-alderman] #3663
|
|
27
|
+
* RuboCop: Fix Style/WordArray [leila-alderman] #3664
|
|
28
|
+
* RuboCop: Fix Style/SymbolArray [leila-alderman] #3665
|
|
29
|
+
|
|
30
|
+
* Mercado-Pago: Notification url GSF [cdmackeyfree] #3678
|
|
31
|
+
* Credorax: Update logic for setting 3ds_homephonecountry [britth] #3691
|
|
32
|
+
|
|
5
33
|
== Version 1.108.0 (Jun 9, 2020)
|
|
6
34
|
* Cybersource: Send cavv as xid is xid is missing [pi3r] #3658
|
|
7
35
|
* Forte: Change default sec_code value to PPD [molbrown] #3653
|
|
@@ -39,19 +39,6 @@ module ActiveMerchant #:nodoc:
|
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
# Return the matching integration module
|
|
43
|
-
# You can then get the notification from the module
|
|
44
|
-
# * <tt>bogus</tt>: Bogus - Does nothing (for testing)
|
|
45
|
-
# * <tt>chronopay</tt>: Chronopay
|
|
46
|
-
# * <tt>paypal</tt>: Paypal
|
|
47
|
-
#
|
|
48
|
-
# chronopay = ActiveMerchant::Billing::Base.integration('chronopay')
|
|
49
|
-
# notification = chronopay.notification(raw_post)
|
|
50
|
-
#
|
|
51
|
-
def self.integration(name)
|
|
52
|
-
Billing::Integrations.const_get(name.to_s.downcase.camelize)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
42
|
# A check to see if we're in test mode
|
|
56
43
|
def self.test?
|
|
57
44
|
mode == :test
|
|
@@ -23,6 +23,7 @@ module ActiveMerchant #:nodoc:
|
|
|
23
23
|
# * Cabal
|
|
24
24
|
# * Naranja
|
|
25
25
|
# * UnionPay
|
|
26
|
+
# * Alia
|
|
26
27
|
#
|
|
27
28
|
# For testing purposes, use the 'bogus' credit card brand. This skips the vast majority of
|
|
28
29
|
# validations, allowing you to focus on your core concerns until you're ready to be more concerned
|
|
@@ -98,6 +99,7 @@ module ActiveMerchant #:nodoc:
|
|
|
98
99
|
# * +'cabal'+
|
|
99
100
|
# * +'naranja'+
|
|
100
101
|
# * +'union_pay'+
|
|
102
|
+
# * +'alia'+
|
|
101
103
|
#
|
|
102
104
|
# Or, if you wish to test your implementation, +'bogus'+.
|
|
103
105
|
#
|
|
@@ -10,7 +10,7 @@ module ActiveMerchant #:nodoc:
|
|
|
10
10
|
'discover' => ->(num) { num =~ /^(6011|65\d{2}|64[4-9]\d)\d{12,15}|(62\d{14,17})$/ },
|
|
11
11
|
'american_express' => ->(num) { num =~ /^3[47]\d{13}$/ },
|
|
12
12
|
'naranja' => ->(num) { num&.size == 16 && in_bin_range?(num.slice(0, 6), NARANJA_RANGES) },
|
|
13
|
-
'diners_club' => ->(num) { num =~ /^3(0[0-5]|[68]\d)\d{11}$/ },
|
|
13
|
+
'diners_club' => ->(num) { num =~ /^3(0[0-5]|[68]\d)\d{11,16}$/ },
|
|
14
14
|
'jcb' => ->(num) { num =~ /^35(28|29|[3-8]\d)\d{12}$/ },
|
|
15
15
|
'dankort' => ->(num) { num =~ /^5019\d{12}$/ },
|
|
16
16
|
'maestro' => lambda { |num|
|
|
@@ -21,6 +21,7 @@ module ActiveMerchant #:nodoc:
|
|
|
21
21
|
},
|
|
22
22
|
'forbrugsforeningen' => ->(num) { num =~ /^600722\d{10}$/ },
|
|
23
23
|
'sodexo' => ->(num) { num =~ /^(606071|603389|606070|606069|606068|600818)\d{10}$/ },
|
|
24
|
+
'alia' => ->(num) { num =~ /^(504997|505878|601030|601073|505874)\d{10}$/ },
|
|
24
25
|
'vr' => ->(num) { num =~ /^(627416|637036)\d{10}$/ },
|
|
25
26
|
'cabal' => ->(num) { num&.size == 16 && in_bin_range?(num.slice(0, 8), CABAL_RANGES) },
|
|
26
27
|
'unionpay' => ->(num) { (16..19).cover?(num&.size) && in_bin_range?(num.slice(0, 8), UNIONPAY_RANGES) },
|
|
@@ -57,10 +58,10 @@ module ActiveMerchant #:nodoc:
|
|
|
57
58
|
]
|
|
58
59
|
|
|
59
60
|
CARNET_BINS = Set.new(
|
|
60
|
-
[
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
%w[
|
|
62
|
+
286900 502275 606333 627535 636318 636379 639388
|
|
63
|
+
639484 639559 50633601 50633606 58877274 62753500
|
|
64
|
+
60462203 60462204 588772
|
|
64
65
|
]
|
|
65
66
|
)
|
|
66
67
|
|
|
@@ -71,7 +72,7 @@ module ActiveMerchant #:nodoc:
|
|
|
71
72
|
]
|
|
72
73
|
|
|
73
74
|
MAESTRO_BINS = Set.new(
|
|
74
|
-
[
|
|
75
|
+
%w[500033 581149]
|
|
75
76
|
)
|
|
76
77
|
|
|
77
78
|
# https://www.mastercard.us/content/dam/mccom/global/documents/mastercard-rules.pdf, page 73
|
|
@@ -297,6 +298,8 @@ module ActiveMerchant #:nodoc:
|
|
|
297
298
|
case brand
|
|
298
299
|
when 'naranja'
|
|
299
300
|
valid_naranja_algo?(numbers)
|
|
301
|
+
when 'alia'
|
|
302
|
+
true
|
|
300
303
|
else
|
|
301
304
|
valid_luhn?(numbers)
|
|
302
305
|
end
|
|
@@ -9,7 +9,7 @@ module ActiveMerchant #:nodoc:
|
|
|
9
9
|
self.supported_countries = %w(AT AU BE BG BR CH CY CZ DE DK EE ES FI FR GB GI GR HK HU IE IS IT LI LT LU LV MC MT MX NL NO PL PT RO SE SG SK SI US)
|
|
10
10
|
self.default_currency = 'USD'
|
|
11
11
|
self.currencies_without_fractions = %w(CVE DJF GNF IDR JPY KMF KRW PYG RWF UGX VND VUV XAF XOF XPF)
|
|
12
|
-
self.supported_cardtypes = [
|
|
12
|
+
self.supported_cardtypes = %i[visa master american_express diners_club jcb dankort maestro discover elo naranja cabal unionpay]
|
|
13
13
|
|
|
14
14
|
self.money_format = :cents
|
|
15
15
|
|
|
@@ -366,12 +366,12 @@ module ActiveMerchant #:nodoc:
|
|
|
366
366
|
end
|
|
367
367
|
|
|
368
368
|
def add_reference(post, authorization, options = {})
|
|
369
|
-
_, psp_reference,
|
|
369
|
+
_, psp_reference, = authorization.split('#')
|
|
370
370
|
post[:originalReference] = single_reference(authorization) || psp_reference
|
|
371
371
|
end
|
|
372
372
|
|
|
373
373
|
def add_original_reference(post, authorization, options = {})
|
|
374
|
-
original_psp_reference,
|
|
374
|
+
original_psp_reference, = authorization.split('#')
|
|
375
375
|
post[:originalReference] = single_reference(authorization) || original_psp_reference
|
|
376
376
|
end
|
|
377
377
|
|
|
@@ -418,10 +418,10 @@ module ActiveMerchant #:nodoc:
|
|
|
418
418
|
post[:additionalData][:scaExemption] = options[:sca_exemption] if options[:sca_exemption]
|
|
419
419
|
end
|
|
420
420
|
else
|
|
421
|
-
return unless options[:execute_threed] || options[:threed_dynamic]
|
|
421
|
+
return unless !options[:execute_threed].nil? || !options[:threed_dynamic].nil?
|
|
422
422
|
|
|
423
|
-
post[:browserInfo] = { userAgent: options[:user_agent], acceptHeader: options[:accept_header] }
|
|
424
|
-
post[:additionalData] = { executeThreeD:
|
|
423
|
+
post[:browserInfo] = { userAgent: options[:user_agent], acceptHeader: options[:accept_header] } if options[:execute_threed] || options[:threed_dynamic]
|
|
424
|
+
post[:additionalData] = { executeThreeD: options[:execute_threed] } if !options[:execute_threed].nil?
|
|
425
425
|
end
|
|
426
426
|
end
|
|
427
427
|
|
|
@@ -527,14 +527,14 @@ module ActiveMerchant #:nodoc:
|
|
|
527
527
|
end
|
|
528
528
|
|
|
529
529
|
def success_from(action, response, options)
|
|
530
|
-
if [
|
|
530
|
+
if %w[RedirectShopper ChallengeShopper].include?(response.dig('resultCode')) && !options[:execute_threed] && !options[:threed_dynamic]
|
|
531
531
|
response['refusalReason'] = 'Received unexpected 3DS authentication response. Use the execute_threed and/or threed_dynamic options to initiate a proper 3DS flow.'
|
|
532
532
|
return false
|
|
533
533
|
end
|
|
534
534
|
|
|
535
535
|
case action.to_s
|
|
536
536
|
when 'authorise', 'authorise3d'
|
|
537
|
-
[
|
|
537
|
+
%w[Authorised Received RedirectShopper].include?(response['resultCode'])
|
|
538
538
|
when 'capture', 'refund', 'cancel'
|
|
539
539
|
response['response'] == "[#{action}-received]"
|
|
540
540
|
when 'adjustAuthorisation'
|
|
@@ -9,8 +9,8 @@ module ActiveMerchant #:nodoc:
|
|
|
9
9
|
self.supported_countries = ['US']
|
|
10
10
|
self.default_currency = 'USD'
|
|
11
11
|
self.money_format = :dollars
|
|
12
|
-
self.supported_cardtypes = [
|
|
13
|
-
|
|
12
|
+
self.supported_cardtypes = %i[visa master american_express discover
|
|
13
|
+
diners_club jcb maestro]
|
|
14
14
|
|
|
15
15
|
def initialize(options={})
|
|
16
16
|
requires!(options, :site_id, :merchant_id, :token)
|
|
@@ -11,7 +11,7 @@ module ActiveMerchant
|
|
|
11
11
|
self.supported_countries = %w(AU CA US)
|
|
12
12
|
self.default_currency = 'USD'
|
|
13
13
|
self.money_format = :dollars
|
|
14
|
-
self.supported_cardtypes = [
|
|
14
|
+
self.supported_cardtypes = %i[visa master american_express discover diners_club jcb maestro]
|
|
15
15
|
|
|
16
16
|
self.homepage_url = 'http://www.authorize.net/'
|
|
17
17
|
self.display_name = 'Authorize.Net'
|
|
@@ -192,7 +192,7 @@ module ActiveMerchant
|
|
|
192
192
|
end
|
|
193
193
|
|
|
194
194
|
def unstore(authorization)
|
|
195
|
-
customer_profile_id,
|
|
195
|
+
customer_profile_id, = split_authorization(authorization)
|
|
196
196
|
|
|
197
197
|
delete_customer_profile(customer_profile_id)
|
|
198
198
|
end
|
|
@@ -311,7 +311,7 @@ module ActiveMerchant
|
|
|
311
311
|
end
|
|
312
312
|
|
|
313
313
|
def cim_refund(amount, authorization, options)
|
|
314
|
-
transaction_id, card_number,
|
|
314
|
+
transaction_id, card_number, = split_authorization(authorization)
|
|
315
315
|
|
|
316
316
|
commit(:cim_refund, options) do |xml|
|
|
317
317
|
add_order_id(xml, options)
|
|
@@ -331,7 +331,7 @@ module ActiveMerchant
|
|
|
331
331
|
end
|
|
332
332
|
|
|
333
333
|
def normal_refund(amount, authorization, options)
|
|
334
|
-
transaction_id, card_number,
|
|
334
|
+
transaction_id, card_number, = split_authorization(authorization)
|
|
335
335
|
|
|
336
336
|
commit(:refund) do |xml|
|
|
337
337
|
xml.transactionRequest do
|
|
@@ -500,7 +500,7 @@ module ActiveMerchant
|
|
|
500
500
|
end
|
|
501
501
|
|
|
502
502
|
def add_token_payment_method(xml, token, options)
|
|
503
|
-
customer_profile_id, customer_payment_profile_id,
|
|
503
|
+
customer_profile_id, customer_payment_profile_id, = split_authorization(token)
|
|
504
504
|
customer_profile_id = options[:customer_profile_id] if options[:customer_profile_id]
|
|
505
505
|
customer_payment_profile_id = options[:customer_payment_profile_id] if options[:customer_payment_profile_id]
|
|
506
506
|
xml.customerProfileId(customer_profile_id)
|
|
@@ -755,7 +755,7 @@ module ActiveMerchant
|
|
|
755
755
|
end
|
|
756
756
|
|
|
757
757
|
def state_from(address, options)
|
|
758
|
-
if [
|
|
758
|
+
if %w[US CA].include?(address[:country])
|
|
759
759
|
address[:state] || 'NC'
|
|
760
760
|
else
|
|
761
761
|
address[:state] || 'n/a'
|
|
@@ -988,7 +988,7 @@ module ActiveMerchant
|
|
|
988
988
|
end
|
|
989
989
|
|
|
990
990
|
def transaction_id_from(authorization)
|
|
991
|
-
transaction_id,
|
|
991
|
+
transaction_id, = split_authorization(authorization)
|
|
992
992
|
transaction_id
|
|
993
993
|
end
|
|
994
994
|
|
|
@@ -31,8 +31,8 @@ module ActiveMerchant #:nodoc:
|
|
|
31
31
|
|
|
32
32
|
self.default_currency = 'USD'
|
|
33
33
|
|
|
34
|
-
self.supported_countries = [
|
|
35
|
-
self.supported_cardtypes = [
|
|
34
|
+
self.supported_countries = %w[US CA GB]
|
|
35
|
+
self.supported_cardtypes = %i[visa master american_express discover diners_club jcb]
|
|
36
36
|
self.homepage_url = 'http://www.authorize.net/'
|
|
37
37
|
self.display_name = 'Authorize.Net'
|
|
38
38
|
|
|
@@ -84,7 +84,7 @@ module ActiveMerchant #:nodoc:
|
|
|
84
84
|
# initial billing occurs) and the total number of billing <tt>:occurrences</tt> or payments for the subscription. (REQUIRED)
|
|
85
85
|
def recurring(money, creditcard, options={})
|
|
86
86
|
requires!(options, :interval, :duration, :billing_address)
|
|
87
|
-
requires!(options[:interval], :length, [
|
|
87
|
+
requires!(options[:interval], :length, %i[unit days months])
|
|
88
88
|
requires!(options[:duration], :start_date, :occurrences)
|
|
89
89
|
requires!(options[:billing_address], :first_name, :last_name)
|
|
90
90
|
|
|
@@ -81,7 +81,7 @@ module ActiveMerchant #:nodoc:
|
|
|
81
81
|
self.homepage_url = 'http://www.authorize.net/'
|
|
82
82
|
self.display_name = 'Authorize.Net CIM'
|
|
83
83
|
self.supported_countries = ['US']
|
|
84
|
-
self.supported_cardtypes = [
|
|
84
|
+
self.supported_cardtypes = %i[visa master american_express discover]
|
|
85
85
|
|
|
86
86
|
# Creates a new AuthorizeNetCimGateway
|
|
87
87
|
#
|
|
@@ -691,10 +691,10 @@ module ActiveMerchant #:nodoc:
|
|
|
691
691
|
add_order(xml, transaction[:order]) if transaction[:order].present?
|
|
692
692
|
|
|
693
693
|
end
|
|
694
|
-
if [
|
|
694
|
+
if %i[auth_capture auth_only capture_only].include?(transaction[:type])
|
|
695
695
|
xml.tag!('recurringBilling', transaction[:recurring_billing]) if transaction.has_key?(:recurring_billing)
|
|
696
696
|
end
|
|
697
|
-
tag_unless_blank(xml, 'cardCode', transaction[:card_code]) unless [
|
|
697
|
+
tag_unless_blank(xml, 'cardCode', transaction[:card_code]) unless %i[void refund prior_auth_capture].include?(transaction[:type])
|
|
698
698
|
end
|
|
699
699
|
end
|
|
700
700
|
end
|
|
@@ -8,7 +8,7 @@ module ActiveMerchant #:nodoc:
|
|
|
8
8
|
GI GR HR HU IE IL IM IS IT LI LT LU LV MC MT MX NL
|
|
9
9
|
NO PL PT RO RU SE SI SK TR US VA)
|
|
10
10
|
|
|
11
|
-
self.supported_cardtypes = [
|
|
11
|
+
self.supported_cardtypes = %i[visa master american_express discover jcb maestro]
|
|
12
12
|
|
|
13
13
|
self.homepage_url = 'http://www.axcessms.com/'
|
|
14
14
|
self.display_name = 'Axcess MS'
|
|
@@ -22,7 +22,7 @@ module ActiveMerchant #:nodoc:
|
|
|
22
22
|
self.live_url = 'https://api.balancedpayments.com'
|
|
23
23
|
|
|
24
24
|
self.supported_countries = ['US']
|
|
25
|
-
self.supported_cardtypes = [
|
|
25
|
+
self.supported_cardtypes = %i[visa master american_express discover]
|
|
26
26
|
self.homepage_url = 'https://www.balancedpayments.com/'
|
|
27
27
|
self.display_name = 'Balanced'
|
|
28
28
|
self.money_format = :cents
|
|
@@ -6,8 +6,8 @@ module ActiveMerchant #:nodoc:
|
|
|
6
6
|
self.live_url = 'https://www.bambora.co.nz/interface/api'
|
|
7
7
|
self.test_url = 'https://demo.bambora.co.nz/interface/api'
|
|
8
8
|
|
|
9
|
-
self.supported_countries = [
|
|
10
|
-
self.supported_cardtypes = [
|
|
9
|
+
self.supported_countries = %w[AU NZ]
|
|
10
|
+
self.supported_cardtypes = %i[visa master american_express diners_club jcb]
|
|
11
11
|
|
|
12
12
|
self.homepage_url = 'http://www.bambora.com/'
|
|
13
13
|
self.display_name = 'Bambora Asia-Pacific'
|
|
@@ -9,9 +9,9 @@ module ActiveMerchant #:nodoc:
|
|
|
9
9
|
self.test_url = 'https://test.ctpe.io/payment/ctpe'
|
|
10
10
|
self.live_url = 'https://ctpe.io/payment/ctpe'
|
|
11
11
|
|
|
12
|
-
self.supported_countries = [
|
|
12
|
+
self.supported_countries = %w[LI US]
|
|
13
13
|
self.default_currency = 'EUR'
|
|
14
|
-
self.supported_cardtypes = [
|
|
14
|
+
self.supported_cardtypes = %i[visa master american_express discover]
|
|
15
15
|
|
|
16
16
|
self.homepage_url = 'http://www.bankfrickacquiring.com/'
|
|
17
17
|
self.display_name = 'Bank Frick'
|
|
@@ -4,7 +4,7 @@ module ActiveMerchant #:nodoc:
|
|
|
4
4
|
URL = 'https://banwire.com/api.pago_pro'
|
|
5
5
|
|
|
6
6
|
self.supported_countries = ['MX']
|
|
7
|
-
self.supported_cardtypes = [
|
|
7
|
+
self.supported_cardtypes = %i[visa master american_express]
|
|
8
8
|
self.homepage_url = 'http://www.banwire.com/'
|
|
9
9
|
self.display_name = 'Banwire'
|
|
10
10
|
|
|
@@ -63,7 +63,7 @@ module ActiveMerchant #:nodoc:
|
|
|
63
63
|
post[:card_num] = creditcard.number
|
|
64
64
|
post[:card_name] = creditcard.name
|
|
65
65
|
post[:card_type] = card_brand(creditcard)
|
|
66
|
-
post[:card_exp] = "#{sprintf(
|
|
66
|
+
post[:card_exp] = "#{sprintf('%02d', creditcard.month)}/#{creditcard.year.to_s[-2, 2]}"
|
|
67
67
|
post[:card_ccv2] = creditcard.verification_value
|
|
68
68
|
end
|
|
69
69
|
|
|
@@ -4,11 +4,11 @@ module ActiveMerchant #:nodoc:
|
|
|
4
4
|
self.test_url = 'https://pal-test.barclaycardsmartpay.com/pal/servlet'
|
|
5
5
|
self.live_url = 'https://pal-live.barclaycardsmartpay.com/pal/servlet'
|
|
6
6
|
|
|
7
|
-
self.supported_countries = [
|
|
7
|
+
self.supported_countries = %w[AL AD AM AT AZ BY BE BA BG HR CY CZ DK EE FI FR DE GR HU IS IE IT KZ LV LI LT LU MK MT MD MC ME NL NO PL PT RO RU SM RS SK SI ES SE CH TR UA GB VA]
|
|
8
8
|
self.default_currency = 'EUR'
|
|
9
9
|
self.currencies_with_three_decimal_places = %w(BHD KWD OMR RSD TND)
|
|
10
10
|
self.money_format = :cents
|
|
11
|
-
self.supported_cardtypes = [
|
|
11
|
+
self.supported_cardtypes = %i[visa master american_express discover diners_club jcb dankort maestro]
|
|
12
12
|
|
|
13
13
|
self.homepage_url = 'https://www.barclaycardsmartpay.com/'
|
|
14
14
|
self.display_name = 'Barclaycard Smartpay'
|
|
@@ -8,7 +8,7 @@ module ActiveMerchant #:nodoc:
|
|
|
8
8
|
self.homepage_url = 'http://www.barclaycard.co.uk/business/accepting-payments/epdq-ecomm/'
|
|
9
9
|
|
|
10
10
|
self.supported_countries = ['GB']
|
|
11
|
-
self.supported_cardtypes = [
|
|
11
|
+
self.supported_cardtypes = %i[visa master american_express diners_club discover jcb maestro]
|
|
12
12
|
self.default_currency = 'GBP'
|
|
13
13
|
end
|
|
14
14
|
end
|
|
@@ -9,7 +9,7 @@ module ActiveMerchant #:nodoc:
|
|
|
9
9
|
self.display_name = 'Be2Bill'
|
|
10
10
|
self.homepage_url = 'http://www.be2bill.com/'
|
|
11
11
|
self.supported_countries = ['FR']
|
|
12
|
-
self.supported_cardtypes = [
|
|
12
|
+
self.supported_cardtypes = %i[visa master american_express]
|
|
13
13
|
self.default_currency = 'EUR'
|
|
14
14
|
self.money_format = :cents
|
|
15
15
|
|
|
@@ -131,10 +131,10 @@ module ActiveMerchant #:nodoc:
|
|
|
131
131
|
base.default_currency = 'CAD'
|
|
132
132
|
|
|
133
133
|
# The countries the gateway supports merchants from as 2 digit ISO country codes
|
|
134
|
-
base.supported_countries = [
|
|
134
|
+
base.supported_countries = %w[CA US]
|
|
135
135
|
|
|
136
136
|
# The card types supported by the payment gateway
|
|
137
|
-
base.supported_cardtypes = [
|
|
137
|
+
base.supported_cardtypes = %i[visa master american_express discover diners_club jcb]
|
|
138
138
|
|
|
139
139
|
# The homepage URL of the gateway
|
|
140
140
|
base.homepage_url = 'http://www.beanstream.com/'
|
|
@@ -155,7 +155,7 @@ module ActiveMerchant #:nodoc:
|
|
|
155
155
|
end
|
|
156
156
|
|
|
157
157
|
def capture(money, authorization, options = {})
|
|
158
|
-
reference,
|
|
158
|
+
reference, = split_auth(authorization)
|
|
159
159
|
post = {}
|
|
160
160
|
add_amount(post, money)
|
|
161
161
|
add_reference(post, reference)
|
|
@@ -259,7 +259,7 @@ module ActiveMerchant #:nodoc:
|
|
|
259
259
|
[options[:billing_address], options[:shipping_address]].compact.each do |address|
|
|
260
260
|
next if empty?(address[:country])
|
|
261
261
|
|
|
262
|
-
unless [
|
|
262
|
+
unless %w[US CA].include?(address[:country])
|
|
263
263
|
address[:state] = '--'
|
|
264
264
|
address[:zip] = '000000' unless address[:zip]
|
|
265
265
|
end
|
|
@@ -44,8 +44,8 @@ module ActiveMerchant #:nodoc:
|
|
|
44
44
|
'CUST_TOKEN' => :cust_token
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
self.supported_countries = [
|
|
48
|
-
self.supported_cardtypes = [
|
|
47
|
+
self.supported_countries = %w[US CA]
|
|
48
|
+
self.supported_cardtypes = %i[visa master american_express discover diners_club jcb]
|
|
49
49
|
self.homepage_url = 'http://www.bluepay.com/'
|
|
50
50
|
self.display_name = 'BluePay'
|
|
51
51
|
self.money_format = :dollars
|