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.
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