activemerchant 1.108.0 → 1.109.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +28 -0
  3. data/lib/active_merchant/billing/base.rb +0 -13
  4. data/lib/active_merchant/billing/check.rb +1 -1
  5. data/lib/active_merchant/billing/credit_card.rb +2 -0
  6. data/lib/active_merchant/billing/credit_card_methods.rb +9 -6
  7. data/lib/active_merchant/billing/gateways/adyen.rb +8 -8
  8. data/lib/active_merchant/billing/gateways/allied_wallet.rb +2 -2
  9. data/lib/active_merchant/billing/gateways/authorize_net.rb +7 -7
  10. data/lib/active_merchant/billing/gateways/authorize_net_arb.rb +3 -3
  11. data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +3 -3
  12. data/lib/active_merchant/billing/gateways/axcessms.rb +1 -1
  13. data/lib/active_merchant/billing/gateways/balanced.rb +1 -1
  14. data/lib/active_merchant/billing/gateways/bambora_apac.rb +2 -2
  15. data/lib/active_merchant/billing/gateways/bank_frick.rb +2 -2
  16. data/lib/active_merchant/billing/gateways/banwire.rb +2 -2
  17. data/lib/active_merchant/billing/gateways/barclaycard_smartpay.rb +2 -2
  18. data/lib/active_merchant/billing/gateways/barclays_epdq_extra_plus.rb +1 -1
  19. data/lib/active_merchant/billing/gateways/be2bill.rb +1 -1
  20. data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +4 -4
  21. data/lib/active_merchant/billing/gateways/blue_pay.rb +2 -2
  22. data/lib/active_merchant/billing/gateways/blue_snap.rb +1 -1
  23. data/lib/active_merchant/billing/gateways/borgun.rb +3 -3
  24. data/lib/active_merchant/billing/gateways/bpoint.rb +1 -1
  25. data/lib/active_merchant/billing/gateways/braintree/braintree_common.rb +1 -1
  26. data/lib/active_merchant/billing/gateways/braintree_blue.rb +78 -28
  27. data/lib/active_merchant/billing/gateways/bridge_pay.rb +2 -2
  28. data/lib/active_merchant/billing/gateways/cams.rb +2 -2
  29. data/lib/active_merchant/billing/gateways/card_connect.rb +1 -1
  30. data/lib/active_merchant/billing/gateways/card_save.rb +1 -1
  31. data/lib/active_merchant/billing/gateways/card_stream.rb +4 -4
  32. data/lib/active_merchant/billing/gateways/cardknox.rb +4 -4
  33. data/lib/active_merchant/billing/gateways/cardprocess.rb +1 -1
  34. data/lib/active_merchant/billing/gateways/cashnet.rb +1 -1
  35. data/lib/active_merchant/billing/gateways/cecabank.rb +1 -1
  36. data/lib/active_merchant/billing/gateways/cenpos.rb +12 -12
  37. data/lib/active_merchant/billing/gateways/checkout.rb +3 -3
  38. data/lib/active_merchant/billing/gateways/checkout_v2.rb +2 -2
  39. data/lib/active_merchant/billing/gateways/citrus_pay.rb +1 -1
  40. data/lib/active_merchant/billing/gateways/clearhaus.rb +3 -3
  41. data/lib/active_merchant/billing/gateways/commercegate.rb +1 -1
  42. data/lib/active_merchant/billing/gateways/conekta.rb +1 -1
  43. data/lib/active_merchant/billing/gateways/creditcall.rb +1 -1
  44. data/lib/active_merchant/billing/gateways/credorax.rb +6 -2
  45. data/lib/active_merchant/billing/gateways/ct_payment.rb +2 -2
  46. data/lib/active_merchant/billing/gateways/culqi.rb +1 -1
  47. data/lib/active_merchant/billing/gateways/cyber_source.rb +13 -4
  48. data/lib/active_merchant/billing/gateways/d_local.rb +7 -3
  49. data/lib/active_merchant/billing/gateways/data_cash.rb +1 -1
  50. data/lib/active_merchant/billing/gateways/dibs.rb +2 -2
  51. data/lib/active_merchant/billing/gateways/digitzs.rb +2 -2
  52. data/lib/active_merchant/billing/gateways/ebanx.rb +4 -4
  53. data/lib/active_merchant/billing/gateways/efsnet.rb +2 -2
  54. data/lib/active_merchant/billing/gateways/elavon.rb +1 -1
  55. data/lib/active_merchant/billing/gateways/element.rb +3 -3
  56. data/lib/active_merchant/billing/gateways/epay.rb +3 -3
  57. data/lib/active_merchant/billing/gateways/evo_ca.rb +1 -1
  58. data/lib/active_merchant/billing/gateways/eway.rb +1 -1
  59. data/lib/active_merchant/billing/gateways/eway_managed.rb +1 -1
  60. data/lib/active_merchant/billing/gateways/eway_rapid.rb +2 -2
  61. data/lib/active_merchant/billing/gateways/exact.rb +3 -3
  62. data/lib/active_merchant/billing/gateways/ezic.rb +1 -1
  63. data/lib/active_merchant/billing/gateways/fat_zebra.rb +4 -4
  64. data/lib/active_merchant/billing/gateways/federated_canada.rb +1 -1
  65. data/lib/active_merchant/billing/gateways/finansbank.rb +2 -2
  66. data/lib/active_merchant/billing/gateways/first_giving.rb +1 -1
  67. data/lib/active_merchant/billing/gateways/first_pay.rb +1 -1
  68. data/lib/active_merchant/billing/gateways/firstdata_e4.rb +4 -4
  69. data/lib/active_merchant/billing/gateways/firstdata_e4_v27.rb +3 -3
  70. data/lib/active_merchant/billing/gateways/flo2cash.rb +10 -10
  71. data/lib/active_merchant/billing/gateways/forte.rb +2 -2
  72. data/lib/active_merchant/billing/gateways/garanti.rb +2 -2
  73. data/lib/active_merchant/billing/gateways/global_collect.rb +5 -5
  74. data/lib/active_merchant/billing/gateways/global_transport.rb +1 -1
  75. data/lib/active_merchant/billing/gateways/hdfc.rb +9 -9
  76. data/lib/active_merchant/billing/gateways/hps.rb +1 -1
  77. data/lib/active_merchant/billing/gateways/iats_payments.rb +2 -2
  78. data/lib/active_merchant/billing/gateways/inspire.rb +1 -1
  79. data/lib/active_merchant/billing/gateways/instapay.rb +1 -1
  80. data/lib/active_merchant/billing/gateways/ipp.rb +1 -1
  81. data/lib/active_merchant/billing/gateways/iridium.rb +3 -3
  82. data/lib/active_merchant/billing/gateways/itransact.rb +1 -1
  83. data/lib/active_merchant/billing/gateways/iveri.rb +2 -2
  84. data/lib/active_merchant/billing/gateways/ixopay.rb +1 -1
  85. data/lib/active_merchant/billing/gateways/jetpay.rb +2 -2
  86. data/lib/active_merchant/billing/gateways/jetpay_v2.rb +2 -2
  87. data/lib/active_merchant/billing/gateways/komoju.rb +1 -1
  88. data/lib/active_merchant/billing/gateways/kushki.rb +4 -4
  89. data/lib/active_merchant/billing/gateways/latitude19.rb +2 -2
  90. data/lib/active_merchant/billing/gateways/linkpoint.rb +2 -2
  91. data/lib/active_merchant/billing/gateways/litle.rb +4 -4
  92. data/lib/active_merchant/billing/gateways/maxipago.rb +2 -2
  93. data/lib/active_merchant/billing/gateways/mercado_pago.rb +11 -6
  94. data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +1 -1
  95. data/lib/active_merchant/billing/gateways/merchant_one.rb +2 -2
  96. data/lib/active_merchant/billing/gateways/merchant_partners.rb +1 -1
  97. data/lib/active_merchant/billing/gateways/merchant_ware.rb +1 -1
  98. data/lib/active_merchant/billing/gateways/merchant_ware_version_four.rb +1 -1
  99. data/lib/active_merchant/billing/gateways/merchant_warrior.rb +2 -2
  100. data/lib/active_merchant/billing/gateways/mercury.rb +4 -4
  101. data/lib/active_merchant/billing/gateways/metrics_global.rb +1 -1
  102. data/lib/active_merchant/billing/gateways/micropayment.rb +2 -2
  103. data/lib/active_merchant/billing/gateways/migs.rb +1 -1
  104. data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +1 -1
  105. data/lib/active_merchant/billing/gateways/monei.rb +2 -2
  106. data/lib/active_merchant/billing/gateways/moneris.rb +17 -17
  107. data/lib/active_merchant/billing/gateways/money_movers.rb +1 -1
  108. data/lib/active_merchant/billing/gateways/mundipagg.rb +1 -1
  109. data/lib/active_merchant/billing/gateways/nab_transact.rb +2 -2
  110. data/lib/active_merchant/billing/gateways/ncr_secure_pay.rb +1 -1
  111. data/lib/active_merchant/billing/gateways/net_registry.rb +2 -2
  112. data/lib/active_merchant/billing/gateways/netaxept.rb +2 -2
  113. data/lib/active_merchant/billing/gateways/netbanx.rb +46 -22
  114. data/lib/active_merchant/billing/gateways/netbilling.rb +2 -2
  115. data/lib/active_merchant/billing/gateways/netpay.rb +2 -2
  116. data/lib/active_merchant/billing/gateways/network_merchants.rb +1 -1
  117. data/lib/active_merchant/billing/gateways/nmi.rb +4 -4
  118. data/lib/active_merchant/billing/gateways/ogone.rb +2 -2
  119. data/lib/active_merchant/billing/gateways/omise.rb +1 -1
  120. data/lib/active_merchant/billing/gateways/openpay.rb +1 -1
  121. data/lib/active_merchant/billing/gateways/opp.rb +1 -1
  122. data/lib/active_merchant/billing/gateways/optimal_payment.rb +4 -4
  123. data/lib/active_merchant/billing/gateways/orbital.rb +6 -6
  124. data/lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb +1 -1
  125. data/lib/active_merchant/billing/gateways/pac_net_raven.rb +1 -1
  126. data/lib/active_merchant/billing/gateways/pagarme.rb +2 -2
  127. data/lib/active_merchant/billing/gateways/pago_facil.rb +1 -1
  128. data/lib/active_merchant/billing/gateways/pay_conex.rb +1 -1
  129. data/lib/active_merchant/billing/gateways/pay_gate_xml.rb +2 -2
  130. data/lib/active_merchant/billing/gateways/pay_hub.rb +1 -1
  131. data/lib/active_merchant/billing/gateways/pay_junction.rb +3 -3
  132. data/lib/active_merchant/billing/gateways/pay_junction_v2.rb +2 -2
  133. data/lib/active_merchant/billing/gateways/pay_secure.rb +1 -1
  134. data/lib/active_merchant/billing/gateways/paybox_direct.rb +3 -3
  135. data/lib/active_merchant/billing/gateways/payeezy.rb +2 -2
  136. data/lib/active_merchant/billing/gateways/payex.rb +13 -13
  137. data/lib/active_merchant/billing/gateways/payflow.rb +5 -5
  138. data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +1 -1
  139. data/lib/active_merchant/billing/gateways/payflow_uk.rb +1 -1
  140. data/lib/active_merchant/billing/gateways/payment_express.rb +1 -1
  141. data/lib/active_merchant/billing/gateways/paymentez.rb +1 -1
  142. data/lib/active_merchant/billing/gateways/paymill.rb +1 -1
  143. data/lib/active_merchant/billing/gateways/paypal.rb +2 -2
  144. data/lib/active_merchant/billing/gateways/paypal_ca.rb +1 -1
  145. data/lib/active_merchant/billing/gateways/payscout.rb +1 -1
  146. data/lib/active_merchant/billing/gateways/paystation.rb +1 -1
  147. data/lib/active_merchant/billing/gateways/payu_in.rb +1 -1
  148. data/lib/active_merchant/billing/gateways/payu_latam.rb +6 -7
  149. data/lib/active_merchant/billing/gateways/payway.rb +1 -1
  150. data/lib/active_merchant/billing/gateways/pin.rb +1 -1
  151. data/lib/active_merchant/billing/gateways/plugnpay.rb +5 -5
  152. data/lib/active_merchant/billing/gateways/pro_pay.rb +2 -2
  153. data/lib/active_merchant/billing/gateways/psigate.rb +1 -1
  154. data/lib/active_merchant/billing/gateways/psl_card.rb +2 -2
  155. data/lib/active_merchant/billing/gateways/qbms.rb +1 -1
  156. data/lib/active_merchant/billing/gateways/quantum.rb +3 -3
  157. data/lib/active_merchant/billing/gateways/quickbooks.rb +6 -6
  158. data/lib/active_merchant/billing/gateways/quickpay/quickpay_common.rb +3 -3
  159. data/lib/active_merchant/billing/gateways/quickpay/quickpay_v10.rb +4 -4
  160. data/lib/active_merchant/billing/gateways/qvalent.rb +1 -1
  161. data/lib/active_merchant/billing/gateways/realex.rb +1 -1
  162. data/lib/active_merchant/billing/gateways/redsys.rb +4 -4
  163. data/lib/active_merchant/billing/gateways/s5.rb +1 -1
  164. data/lib/active_merchant/billing/gateways/safe_charge.rb +2 -2
  165. data/lib/active_merchant/billing/gateways/sage.rb +3 -3
  166. data/lib/active_merchant/billing/gateways/sage_pay.rb +3 -3
  167. data/lib/active_merchant/billing/gateways/sallie_mae.rb +1 -1
  168. data/lib/active_merchant/billing/gateways/secure_net.rb +1 -1
  169. data/lib/active_merchant/billing/gateways/secure_pay.rb +1 -1
  170. data/lib/active_merchant/billing/gateways/secure_pay_au.rb +2 -2
  171. data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +2 -2
  172. data/lib/active_merchant/billing/gateways/securion_pay.rb +1 -1
  173. data/lib/active_merchant/billing/gateways/skip_jack.rb +5 -5
  174. data/lib/active_merchant/billing/gateways/so_easy_pay.rb +6 -6
  175. data/lib/active_merchant/billing/gateways/spreedly_core.rb +1 -1
  176. data/lib/active_merchant/billing/gateways/stripe.rb +6 -6
  177. data/lib/active_merchant/billing/gateways/stripe_payment_intents.rb +20 -1
  178. data/lib/active_merchant/billing/gateways/swipe_checkout.rb +1 -1
  179. data/lib/active_merchant/billing/gateways/telr.rb +4 -4
  180. data/lib/active_merchant/billing/gateways/tns.rb +1 -1
  181. data/lib/active_merchant/billing/gateways/trans_first.rb +2 -2
  182. data/lib/active_merchant/billing/gateways/trans_first_transaction_express.rb +1 -1
  183. data/lib/active_merchant/billing/gateways/transact_pro.rb +1 -1
  184. data/lib/active_merchant/billing/gateways/transax.rb +1 -1
  185. data/lib/active_merchant/billing/gateways/trexle.rb +1 -1
  186. data/lib/active_merchant/billing/gateways/trust_commerce.rb +5 -5
  187. data/lib/active_merchant/billing/gateways/usa_epay_advanced.rb +6 -6
  188. data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +1 -1
  189. data/lib/active_merchant/billing/gateways/vanco.rb +1 -1
  190. data/lib/active_merchant/billing/gateways/verifi.rb +3 -3
  191. data/lib/active_merchant/billing/gateways/viaklix.rb +1 -1
  192. data/lib/active_merchant/billing/gateways/visanet_peru.rb +3 -3
  193. data/lib/active_merchant/billing/gateways/webpay.rb +1 -1
  194. data/lib/active_merchant/billing/gateways/wepay.rb +2 -2
  195. data/lib/active_merchant/billing/gateways/wirecard.rb +1 -1
  196. data/lib/active_merchant/billing/gateways/world_net.rb +35 -35
  197. data/lib/active_merchant/billing/gateways/worldpay.rb +6 -6
  198. data/lib/active_merchant/billing/gateways/worldpay_online_payments.rb +1 -1
  199. data/lib/active_merchant/billing/gateways/worldpay_us.rb +1 -1
  200. data/lib/active_merchant/version.rb +1 -1
  201. data/lib/support/gateway_support.rb +1 -1
  202. metadata +35 -35
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 11b837a742d2fd39e941f6aa861b3c3557fe2ddb6142b2e119c48d22e7b39749
4
- data.tar.gz: 3aa9e72328ca32c4e84c2919dc61f3b58350d806f49fe2ea342fc9acb19a8056
3
+ metadata.gz: 7c4b380a0488ea2f5e78175b1dfa65fee57051b7015f0b890da0bbc38d720b19
4
+ data.tar.gz: 0067c05edeb3396266fdeb63366e56fe4b2c96e9ded24957405798a36d2f4f73
5
5
  SHA512:
6
- metadata.gz: c5454b152692725df9ee05bf8cfc202642ca7fb535950996d5c521c76788f0bec214f707596293185fac78d38785ef1a53924f3b99fd38137f09014c4339d92d
7
- data.tar.gz: d724f10b88a939d856454396e0a1b9a80d975fd40d0fe2db4e8a8c0da7cdc434f4fe8c2117f86e16acb40479295d8ba766a691e6accf059973e6af1359b26387
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
@@ -29,7 +29,7 @@ module ActiveMerchant #:nodoc:
29
29
  def validate
30
30
  errors = []
31
31
 
32
- [:name, :routing_number, :account_number].each do |attr|
32
+ %i[name routing_number account_number].each do |attr|
33
33
  errors << [attr, 'cannot be empty'] if empty?(self.send(attr))
34
34
  end
35
35
 
@@ -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
- '286900', '502275', '606333', '627535', '636318', '636379', '639388',
62
- '639484', '639559', '50633601', '50633606', '58877274', '62753500',
63
- '60462203', '60462204', '588772'
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
- ['500033', '581149']
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 = [:visa, :master, :american_express, :diners_club, :jcb, :dankort, :maestro, :discover, :elo, :naranja, :cabal, :unionpay]
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, _ = authorization.split('#')
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, _, _ = authorization.split('#')
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: 'true' } if options[:execute_threed]
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 ['RedirectShopper', 'ChallengeShopper'].include?(response.dig('resultCode')) && !options[:execute_threed] && !options[:threed_dynamic]
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
- ['Authorised', 'Received', 'RedirectShopper'].include?(response['resultCode'])
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 = [:visa, :master, :american_express, :discover,
13
- :diners_club, :jcb, :maestro]
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 = [:visa, :master, :american_express, :discover, :diners_club, :jcb, :maestro]
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, _, _ = split_authorization(authorization)
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, _ = split_authorization(authorization)
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, _ = split_authorization(authorization)
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, _ = split_authorization(token)
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 ['US', 'CA'].include?(address[:country])
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, _, _ = split_authorization(authorization)
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 = ['US', 'CA', 'GB']
35
- self.supported_cardtypes = [:visa, :master, :american_express, :discover, :diners_club, :jcb]
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, [:unit, :days, :months])
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 = [:visa, :master, :american_express, :discover]
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 [:auth_capture, :auth_only, :capture_only].include?(transaction[:type])
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 [:void, :refund, :prior_auth_capture].include?(transaction[:type])
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 = [:visa, :master, :american_express, :discover, :jcb, :maestro]
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 = [:visa, :master, :american_express, :discover]
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 = ['AU', 'NZ']
10
- self.supported_cardtypes = [:visa, :master, :american_express, :diners_club, :jcb]
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 = ['LI', 'US']
12
+ self.supported_countries = %w[LI US]
13
13
  self.default_currency = 'EUR'
14
- self.supported_cardtypes = [:visa, :master, :american_express, :discover]
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 = [:visa, :master, :american_express]
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("%02d", creditcard.month)}/#{creditcard.year.to_s[-2, 2]}"
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 = ['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']
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 = [:visa, :master, :american_express, :discover, :diners_club, :jcb, :dankort, :maestro]
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 = [:visa, :master, :american_express, :diners_club, :discover, :jcb, :maestro]
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 = [:visa, :master, :american_express]
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 = ['CA', 'US']
134
+ base.supported_countries = %w[CA US]
135
135
 
136
136
  # The card types supported by the payment gateway
137
- base.supported_cardtypes = [:visa, :master, :american_express, :discover, :diners_club, :jcb]
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, _, _ = split_auth(authorization)
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 ['US', 'CA'].include?(address[:country])
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 = ['US', 'CA']
48
- self.supported_cardtypes = [:visa, :master, :american_express, :discover, :diners_club, :jcb]
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