activemerchant 1.133.0 → 1.137.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 +240 -0
- data/lib/active_merchant/billing/check.rb +2 -2
- data/lib/active_merchant/billing/compatibility.rb +4 -4
- data/lib/active_merchant/billing/credit_card.rb +11 -8
- data/lib/active_merchant/billing/credit_card_formatting.rb +4 -0
- data/lib/active_merchant/billing/credit_card_methods.rb +59 -6
- data/lib/active_merchant/billing/gateway.rb +9 -0
- data/lib/active_merchant/billing/gateways/adyen.rb +162 -43
- data/lib/active_merchant/billing/gateways/airwallex.rb +26 -12
- data/lib/active_merchant/billing/gateways/alelo.rb +23 -5
- data/lib/active_merchant/billing/gateways/authorize_net.rb +43 -35
- data/lib/active_merchant/billing/gateways/authorize_net_arb.rb +10 -6
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +1 -3
- data/lib/active_merchant/billing/gateways/axcessms.rb +6 -2
- data/lib/active_merchant/billing/gateways/banwire.rb +4 -2
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +7 -3
- data/lib/active_merchant/billing/gateways/blue_pay.rb +13 -5
- data/lib/active_merchant/billing/gateways/blue_snap.rb +5 -5
- data/lib/active_merchant/billing/gateways/braintree/token_nonce.rb +65 -20
- data/lib/active_merchant/billing/gateways/braintree_blue.rb +226 -73
- data/lib/active_merchant/billing/gateways/braintree_orange.rb +1 -1
- data/lib/active_merchant/billing/gateways/card_connect.rb +5 -2
- data/lib/active_merchant/billing/gateways/card_stream.rb +4 -6
- data/lib/active_merchant/billing/gateways/cashnet.rb +1 -1
- data/lib/active_merchant/billing/gateways/cecabank/cecabank_common.rb +36 -0
- data/lib/active_merchant/billing/gateways/cecabank/cecabank_json.rb +316 -0
- data/lib/active_merchant/billing/gateways/cecabank/cecabank_xml.rb +220 -0
- data/lib/active_merchant/billing/gateways/cecabank.rb +7 -240
- data/lib/active_merchant/billing/gateways/checkout_v2.rb +238 -34
- data/lib/active_merchant/billing/gateways/commerce_hub.rb +63 -6
- data/lib/active_merchant/billing/gateways/credorax.rb +3 -5
- data/lib/active_merchant/billing/gateways/cyber_source.rb +185 -47
- data/lib/active_merchant/billing/gateways/cyber_source_rest.rb +102 -58
- data/lib/active_merchant/billing/gateways/d_local.rb +26 -15
- data/lib/active_merchant/billing/gateways/data_cash.rb +21 -17
- data/lib/active_merchant/billing/gateways/datatrans.rb +279 -0
- data/lib/active_merchant/billing/gateways/decidir.rb +53 -18
- data/lib/active_merchant/billing/gateways/decidir_plus.rb +4 -1
- data/lib/active_merchant/billing/gateways/deepstack.rb +382 -0
- data/lib/active_merchant/billing/gateways/ebanx.rb +40 -36
- data/lib/active_merchant/billing/gateways/efsnet.rb +6 -2
- data/lib/active_merchant/billing/gateways/elavon.rb +99 -33
- data/lib/active_merchant/billing/gateways/element.rb +36 -7
- data/lib/active_merchant/billing/gateways/epay.rb +6 -2
- data/lib/active_merchant/billing/gateways/evo_ca.rb +6 -2
- data/lib/active_merchant/billing/gateways/eway.rb +4 -2
- data/lib/active_merchant/billing/gateways/eway_managed.rb +6 -2
- data/lib/active_merchant/billing/gateways/exact.rb +6 -2
- data/lib/active_merchant/billing/gateways/fat_zebra.rb +31 -3
- data/lib/active_merchant/billing/gateways/federated_canada.rb +6 -2
- data/lib/active_merchant/billing/gateways/first_pay/first_pay_common.rb +15 -0
- data/lib/active_merchant/billing/gateways/first_pay/first_pay_json.rb +190 -0
- data/lib/active_merchant/billing/gateways/first_pay/first_pay_xml.rb +183 -0
- data/lib/active_merchant/billing/gateways/first_pay.rb +6 -172
- data/lib/active_merchant/billing/gateways/firstdata_e4.rb +6 -2
- data/lib/active_merchant/billing/gateways/firstdata_e4_v27.rb +7 -3
- data/lib/active_merchant/billing/gateways/flex_charge.rb +347 -0
- data/lib/active_merchant/billing/gateways/garanti.rb +4 -2
- data/lib/active_merchant/billing/gateways/global_collect.rb +45 -37
- data/lib/active_merchant/billing/gateways/hi_pay.rb +286 -0
- data/lib/active_merchant/billing/gateways/hps.rb +1 -1
- data/lib/active_merchant/billing/gateways/iats_payments.rb +7 -2
- data/lib/active_merchant/billing/gateways/inspire.rb +6 -4
- data/lib/active_merchant/billing/gateways/instapay.rb +7 -4
- data/lib/active_merchant/billing/gateways/ipg.rb +9 -5
- data/lib/active_merchant/billing/gateways/iridium.rb +15 -5
- data/lib/active_merchant/billing/gateways/itransact.rb +6 -2
- data/lib/active_merchant/billing/gateways/iveri.rb +3 -3
- data/lib/active_merchant/billing/gateways/ixopay.rb +2 -2
- data/lib/active_merchant/billing/gateways/jetpay.rb +4 -2
- data/lib/active_merchant/billing/gateways/jetpay_v2.rb +4 -2
- data/lib/active_merchant/billing/gateways/kushki.rb +72 -12
- data/lib/active_merchant/billing/gateways/linkpoint.rb +6 -2
- data/lib/active_merchant/billing/gateways/litle.rb +33 -50
- data/lib/active_merchant/billing/gateways/mastercard.rb +4 -4
- data/lib/active_merchant/billing/gateways/maxipago.rb +2 -2
- data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +8 -5
- data/lib/active_merchant/billing/gateways/merchant_ware.rb +11 -4
- data/lib/active_merchant/billing/gateways/merchant_ware_version_four.rb +11 -4
- data/lib/active_merchant/billing/gateways/merchant_warrior.rb +19 -3
- data/lib/active_merchant/billing/gateways/mercury.rb +6 -2
- data/lib/active_merchant/billing/gateways/metrics_global.rb +8 -6
- data/lib/active_merchant/billing/gateways/migs/migs_codes.rb +1 -0
- data/lib/active_merchant/billing/gateways/migs.rb +6 -2
- data/lib/active_merchant/billing/gateways/mit.rb +8 -3
- data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +18 -10
- data/lib/active_merchant/billing/gateways/monei.rb +1 -1
- data/lib/active_merchant/billing/gateways/moneris.rb +9 -3
- data/lib/active_merchant/billing/gateways/money_movers.rb +6 -2
- data/lib/active_merchant/billing/gateways/nab_transact.rb +12 -4
- data/lib/active_merchant/billing/gateways/net_registry.rb +6 -2
- data/lib/active_merchant/billing/gateways/netbanx.rb +1 -3
- data/lib/active_merchant/billing/gateways/netbilling.rb +6 -2
- data/lib/active_merchant/billing/gateways/network_merchants.rb +6 -2
- data/lib/active_merchant/billing/gateways/nmi.rb +18 -6
- data/lib/active_merchant/billing/gateways/ogone.rb +6 -2
- data/lib/active_merchant/billing/gateways/openpay.rb +4 -2
- data/lib/active_merchant/billing/gateways/opp.rb +1 -2
- data/lib/active_merchant/billing/gateways/optimal_payment.rb +6 -2
- data/lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb +1 -3
- data/lib/active_merchant/billing/gateways/orbital.rb +83 -24
- data/lib/active_merchant/billing/gateways/pac_net_raven.rb +7 -4
- data/lib/active_merchant/billing/gateways/pay_gate_xml.rb +6 -2
- data/lib/active_merchant/billing/gateways/pay_hub.rb +4 -2
- data/lib/active_merchant/billing/gateways/pay_junction.rb +6 -2
- data/lib/active_merchant/billing/gateways/pay_secure.rb +6 -2
- data/lib/active_merchant/billing/gateways/pay_trace.rb +31 -18
- data/lib/active_merchant/billing/gateways/payeezy.rb +19 -8
- data/lib/active_merchant/billing/gateways/payex.rb +4 -2
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +1 -1
- data/lib/active_merchant/billing/gateways/payflow.rb +1 -3
- data/lib/active_merchant/billing/gateways/payment_express.rb +8 -4
- data/lib/active_merchant/billing/gateways/paymentez.rb +23 -11
- data/lib/active_merchant/billing/gateways/paysafe.rb +12 -11
- data/lib/active_merchant/billing/gateways/payscout.rb +7 -4
- data/lib/active_merchant/billing/gateways/paystation.rb +7 -3
- data/lib/active_merchant/billing/gateways/payway.rb +6 -2
- data/lib/active_merchant/billing/gateways/payway_dot_com.rb +2 -2
- data/lib/active_merchant/billing/gateways/pin.rb +22 -4
- data/lib/active_merchant/billing/gateways/plexo.rb +49 -10
- data/lib/active_merchant/billing/gateways/plugnpay.rb +6 -2
- data/lib/active_merchant/billing/gateways/priority.rb +6 -5
- data/lib/active_merchant/billing/gateways/psigate.rb +6 -2
- data/lib/active_merchant/billing/gateways/psl_card.rb +6 -2
- data/lib/active_merchant/billing/gateways/qbms.rb +6 -2
- data/lib/active_merchant/billing/gateways/quantum.rb +6 -2
- data/lib/active_merchant/billing/gateways/quickbooks.rb +6 -5
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_v10.rb +7 -4
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_v4to7.rb +6 -2
- data/lib/active_merchant/billing/gateways/rapyd.rb +148 -46
- data/lib/active_merchant/billing/gateways/reach.rb +11 -4
- data/lib/active_merchant/billing/gateways/redsys.rb +2 -10
- data/lib/active_merchant/billing/gateways/redsys_rest.rb +507 -0
- data/lib/active_merchant/billing/gateways/s5.rb +3 -3
- data/lib/active_merchant/billing/gateways/safe_charge.rb +36 -16
- data/lib/active_merchant/billing/gateways/sage.rb +12 -4
- data/lib/active_merchant/billing/gateways/sage_pay.rb +79 -5
- data/lib/active_merchant/billing/gateways/sallie_mae.rb +6 -2
- data/lib/active_merchant/billing/gateways/secure_net.rb +6 -2
- data/lib/active_merchant/billing/gateways/secure_pay.rb +8 -6
- data/lib/active_merchant/billing/gateways/secure_pay_au.rb +12 -4
- data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +6 -2
- data/lib/active_merchant/billing/gateways/securion_pay.rb +24 -10
- data/lib/active_merchant/billing/gateways/shift4.rb +17 -20
- data/lib/active_merchant/billing/gateways/shift4_v2.rb +117 -0
- data/lib/active_merchant/billing/gateways/simetrik.rb +17 -11
- data/lib/active_merchant/billing/gateways/skip_jack.rb +6 -2
- data/lib/active_merchant/billing/gateways/smart_ps.rb +7 -4
- data/lib/active_merchant/billing/gateways/so_easy_pay.rb +4 -2
- data/lib/active_merchant/billing/gateways/spreedly_core.rb +2 -4
- data/lib/active_merchant/billing/gateways/stripe.rb +53 -21
- data/lib/active_merchant/billing/gateways/stripe_payment_intents.rb +199 -50
- data/lib/active_merchant/billing/gateways/sum_up.rb +223 -0
- data/lib/active_merchant/billing/gateways/swipe_checkout.rb +4 -2
- data/lib/active_merchant/billing/gateways/telr.rb +3 -4
- data/lib/active_merchant/billing/gateways/trans_first.rb +1 -2
- data/lib/active_merchant/billing/gateways/trans_first_transaction_express.rb +8 -16
- data/lib/active_merchant/billing/gateways/transact_pro.rb +1 -1
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +6 -2
- data/lib/active_merchant/billing/gateways/usa_epay_advanced.rb +9 -8
- data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +6 -2
- data/lib/active_merchant/billing/gateways/vanco.rb +2 -4
- data/lib/active_merchant/billing/gateways/vantiv_express.rb +587 -0
- data/lib/active_merchant/billing/gateways/verifi.rb +6 -2
- data/lib/active_merchant/billing/gateways/viaklix.rb +6 -2
- data/lib/active_merchant/billing/gateways/visanet_peru.rb +2 -2
- data/lib/active_merchant/billing/gateways/vpos.rb +3 -3
- data/lib/active_merchant/billing/gateways/wirecard.rb +7 -3
- data/lib/active_merchant/billing/gateways/wompi.rb +5 -0
- data/lib/active_merchant/billing/gateways/worldpay.rb +140 -73
- data/lib/active_merchant/billing/gateways/worldpay_online_payments.rb +13 -10
- data/lib/active_merchant/billing/gateways/xpay.rb +242 -0
- data/lib/active_merchant/billing/network_tokenization_credit_card.rb +1 -1
- data/lib/active_merchant/billing/response.rb +2 -2
- data/lib/active_merchant/connection.rb +3 -17
- data/lib/active_merchant/country.rb +1 -0
- data/lib/active_merchant/errors.rb +10 -0
- data/lib/active_merchant/version.rb +1 -1
- data/lib/support/gateway_support.rb +2 -2
- data/lib/support/ssl_verify.rb +4 -4
- data/lib/support/ssl_version.rb +6 -6
- metadata +30 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d71204a4cd8ef7e75b2c6f2116d56af1d2effc900cc89aa4946181d664a1ffb2
|
4
|
+
data.tar.gz: ead62c51a2d708e9e79e39fea62021dfdc72fbdaefad045099e4b9238d9ac355
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d029ce9b932cc72acd56799cfa4ed6debb36ce153290eb99c260a400abd08f108fd9f0ae547e558f009c0d37f49df5008c7b0bbc5adf5e4810ed562058d82bb
|
7
|
+
data.tar.gz: 1ecb1bc3e94611c3017f233ed3ea59efd91213ad07497aa2f38ec731536aec6bd518853d6cf044d7a9217a068c92f08e1df98cca29596d1005773bc2bdeb1692
|
data/CHANGELOG
CHANGED
@@ -3,8 +3,247 @@
|
|
3
3
|
|
4
4
|
== HEAD
|
5
5
|
|
6
|
+
= Version 1.137.0 (August 2, 2024)
|
7
|
+
|
8
|
+
* Unlock dependency on `rexml` to allow fixing a CVE (#5181).
|
9
|
+
* Bump Ruby version to 3.1 [dustinhaefele] #5104
|
10
|
+
* FlexCharge: Update inquire method to use the new orders end-point
|
11
|
+
* Worldpay: Prefer options for network_transaction_id [aenand] #5129
|
12
|
+
* Braintree: Prefer options for network_transaction_id [aenand] #5129
|
13
|
+
* Cybersource Rest: Update support for stored credentials [aenand] #5083
|
14
|
+
* Plexo: Add support to NetworkToken payments [euribe09] #5130
|
15
|
+
* Braintree: Update card verfification payload if billing address fields are not present [yunnydang] #5142
|
16
|
+
* DLocal: Update the phone and ip fields [yunnydang] #5143
|
17
|
+
* CheckoutV2: Add support for risk data fields [yunnydang] #5147
|
18
|
+
* Pin Payments: Add new 3DS params mentioned in Pin Payments docs [hudakh] #4720
|
19
|
+
* RedsysRest: Add support for stored credentials & 3DS exemptions [jherreraa] #5132
|
20
|
+
* CheckoutV2: Truncate the reference id for amex transactions [yunnydang] #5151
|
21
|
+
* CommerceHub: Add billing address name override [yunnydang] #5157
|
22
|
+
* StripePI: Add optional ability for 3DS exemption on verify calls [yunnydang] #5160
|
23
|
+
* CyberSource: Update stored credentials [sinourain] #5136
|
24
|
+
* Orbital: Update to accept UCAF Indicator GSF [almalee24] #5150
|
25
|
+
* CyberSource: Add addtional invoiceHeader fields [yunnydang] #5161
|
26
|
+
* MerchantWarrior: Update phone, email, ip and store ID [almalee24] #5158
|
27
|
+
* Credorax: Update 3DS version mapping [almalee24] #5159
|
28
|
+
* Add Maestro card bins [yunnydang] #5172
|
29
|
+
* Braintree: Remove stored credential v1 [almalee24] #5175
|
30
|
+
* Braintree Blue: Pass overridden mid into client token for GS 3DS [sinourain] #5166
|
31
|
+
* Moneris: Update crypt_type for 3DS [almalee24] #5162
|
32
|
+
* CheckoutV2: Update 3DS message & error code [almalee24] #5177
|
33
|
+
* DecicirPlus: Update error_message to add safety navigator [almalee24] #5187
|
34
|
+
* Elavon: Add updated stored credential version [almalee24] #5170
|
35
|
+
* Adyen: Add header fields to response body [yunnydang] #5184
|
36
|
+
* Stripe and Stripe PI: Add header fields to response body [yunnydang] #5185
|
37
|
+
|
38
|
+
== Version 1.136.0 (June 3, 2024)
|
39
|
+
* Shift4V2: Add new gateway based on SecurionPay adapter [heavyblade] #4860
|
40
|
+
* TNS: Use the specified order_id in request if available [yunnydang] #4880
|
41
|
+
* Cybersource: Support recurring apple pay [aenand] #4874
|
42
|
+
* Verve BIN ranges and add card type to Rapyd gateway [jherreraa] #4875
|
43
|
+
* Rapyd: Add network_reference_id, initiation_type, and update stored credential method [yunnydang] #4877
|
44
|
+
* Adyen: Add the store field [yunnydang] #4878
|
45
|
+
* Stripe Payment Intents: Expand balance txns for regular transactions [yunnydang] #4882
|
46
|
+
* CyberSource (SOAP): Added support for 3DS exemption request fields [BritneyS] #4881
|
47
|
+
* StripePI: Adding network tokenization fields to Stripe PaymentIntents [BritneyS] #4867
|
48
|
+
* Shift4: Fixing currency bug [Heavyblade] #4887
|
49
|
+
* Rapyd: fixing issue with json encoding and signatures [Heavyblade] #4892
|
50
|
+
* SumUp: Setup, Scrub and Purchase build [sinourain] #4890
|
51
|
+
* XpayGateway: Initial setup [javierpedrozaing] #4889
|
52
|
+
* Rapyd: Add validation to not send cvv and network_reference_id [javierpedrozaing] #4895
|
53
|
+
* Ebanx: Add Ecuador and Bolivia as supported countries [almalee24] #4893
|
54
|
+
* Decidir: Add support for network tokens [almalee24] #4870
|
55
|
+
* Element: Fix credit card name bug [almalee24] #4898
|
56
|
+
* Adyen: Add payout endpoint [almalee24] #4885
|
57
|
+
* Adding Oauth Response for access tokens [almalee24] #4851
|
58
|
+
* CheckoutV2: Update stored credentials [almalee24] #4901
|
59
|
+
* Revert "Adding Oauth Response for access tokens" [almalee24] #4906
|
60
|
+
* Braintree: Create credit card nonce [gasb150] #4897
|
61
|
+
* Adyen: Fix shopperEmail bug [almalee24] #4904
|
62
|
+
* Add Cabal card bin ranges [yunnydang] #4908
|
63
|
+
* Kushki: Fixing issue with 3DS info on visa cc [heavyblade] #4899
|
64
|
+
* Adyen: Add MIT flagging for Network Tokens [aenand] #4905
|
65
|
+
* Moneris: Update sca actions [almalee24] #4902
|
66
|
+
* Ogone: Add gateway specific 3ds option with default options mapping [jherreraa] #4894
|
67
|
+
* Rapyd: Add recurrence_type field [yunnydang] #4912
|
68
|
+
* Revert "Adyen: Update MIT flagging for NT" [almalee24] #4914
|
69
|
+
* SumUp: Void and partial refund calls [sinourain] #4891
|
70
|
+
* SecurionPay/Shift4_v2: authorization from [gasb150] #4913
|
71
|
+
* Rapyd: Update recurrence_type field [yunnydang] #4922
|
72
|
+
* Element: Add lodging fields [yunnydang] #4813
|
73
|
+
* SafeCharge: Update sg_CreditType field on the credit method [yunnydang] #4918
|
74
|
+
* Rapyd: add force_3ds_secure flag [Heavyblade] #4927
|
75
|
+
* Beanstream: add alternate option for passing phone number [jcreiff] #4923
|
76
|
+
* AuthorizeNet: Update network token method [almalee24] #4852
|
77
|
+
* Adding Oauth Response for access tokens [almalee24] #4907
|
78
|
+
* GlobalCollect: Added support for 3DS exemption request field [almalee24] #4917
|
79
|
+
* NMI: Update supported countries list [jcreiff] #4931
|
80
|
+
* Adyen: Add mcc field [jcreiff] #4926
|
81
|
+
* Quickbooks: Remove raise OAuth from extract_response_body_or_raise [almalee24] #4935
|
82
|
+
* Cecabank: Add new Cecabank gateway to use the JSON REST API [sinourain] #4920
|
83
|
+
* Cecabank: Add 3DS Global to Cecabank REST JSON gateway [sinourain] #4940
|
84
|
+
* Cecabank: Add scrub implementation [sinourain] #4945
|
85
|
+
* GlobalCollect: Fix bug in success_from logic [DustinHaefele] #4939
|
86
|
+
* Worldpay: Update 3ds logic to accept df_reference_id directly [DustinHaefele] #4929
|
87
|
+
* Orbital: Enable Third Party Vaulting [javierpedrozaing] #4928
|
88
|
+
* Payeezy: Add the customer_ref and reference_3 fields [yunnydang] #4942
|
89
|
+
* Redsys Rest: Add support for new gateway type Redsys Rest [aenand] #4951
|
90
|
+
* CyberSource: Surface the reconciliationID2 field [yunnydang] #4934
|
91
|
+
* Worldpay: Update stored credentials logic [DustinHaefele] #4950
|
92
|
+
* Vantiv Express: New Xml gateway [DustinHaefele] #4956
|
93
|
+
* Shift4 V2: Add unstore function [javierpedrozaing] #4953
|
94
|
+
* CommerceHub: Add 3DS global support [sinourain] #4957
|
95
|
+
* SumUp Gateway: Fix refund method [sinourain] #4924
|
96
|
+
* Braintree: Add v2 stored credential option [aenand] #4937
|
97
|
+
* Cybersource REST: Remove request-target parens [curiousepic] #4960
|
98
|
+
* Ogone: Fix signature calulcation for blank fields [Heavyblade] #4963
|
99
|
+
* VisaNet Peru: Add purchaseNumber to response object [yunnydang] #4961
|
100
|
+
* SafeCharge: Support tokens [almalee24] #4948
|
101
|
+
* Redsys: Update to $0 verify [almalee24] #4944
|
102
|
+
* Litle: Update stored credentials [almalee24] #4903
|
103
|
+
* WorldPay: Accept GooglePay pan only [almalee24] #4943
|
104
|
+
* Braintree: Correct issue in v2 stored credentials [aenand] #4967
|
105
|
+
* Stripe Payment Intents: Add the card brand field [yunnydang] #4964
|
106
|
+
* Rapyd: Enable new auth mode payment_redirect [javierpedrozaing] #4970
|
107
|
+
* Cecabank: Fix exemption_type when it is blank and update the error code for some tests [sinourain] #4968
|
108
|
+
* RedsysRest: Update to $0 verify [almalee24] #4973
|
109
|
+
* CommerceHub: Add credit transaction [sinourain] #4965
|
110
|
+
* PayTrace: Send CSC value on gateway request. [DustinHaefele] #4974
|
111
|
+
* Orbital: Remove needless GSF for TPV [javierpedrozaing] #4959
|
112
|
+
* Adyen: Provide ZZ as default country code [jcreiff] #4971
|
113
|
+
* MIT: Add test_url [jcreiff] #4977
|
114
|
+
* VantivExpress: Fix eci bug [almalee24] #4982
|
115
|
+
* IPG: Allow for Merchant Aggregator credential usage [DustinHaefele] #4986
|
116
|
+
* Adyen: Add support for `metadata` object [rachelkirk] #4987
|
117
|
+
* Xpay: New adapter basic operations added [jherreraa] #4669
|
118
|
+
* Rapyd: Enable idempotent request support [javierpedrozaing] #4980
|
119
|
+
* Litle: Update account type [almalee24] #4976
|
120
|
+
* Wompi: Add support for `tip_in_cents` [rachelkirk] #4983
|
121
|
+
* HiPay: Add Gateway [gasb150] #4979
|
122
|
+
* Xpay: New adapter basic operations added [jherreraa] #4669
|
123
|
+
* Braintree: Add support for more payment details fields in response [yunnydang] #4992
|
124
|
+
* CyberSource: Add the first_recurring_payment auth service field [yunnydang] #4989
|
125
|
+
* CommerceHub: Add dynamic descriptors [jcreiff] #4994
|
126
|
+
* Rapyd: Update email mapping [javierpedrozaing] #4996
|
127
|
+
* SagePay: Add support for v4 [aenand] #4990
|
128
|
+
* Braintree: Send merchant_account_id when generating client token [almalee24] #4991
|
129
|
+
* CheckoutV2: Update reponse message for 3DS transactions [almalee24] #4975
|
130
|
+
* HiPay: Scrub/Refund/Void [gasb150] #4995
|
131
|
+
* Rapyd: Adding fixed_side and requested_currency options [Heavyblade] #4962
|
132
|
+
* Add new card type Tuya. GlobalCollect & Decidir: Improve support for Tuya card type [sinourain] #4993
|
133
|
+
* Cecabank: Encrypt credit card fields [sinourain] #4998
|
134
|
+
* HiPay: Add unstore [gasb150] #4999
|
135
|
+
* Rapyd: Fix transaction with two digits in month and year [javierpedrozaing] #5008
|
136
|
+
* SagePay: Add support for stored credentials [almalee24] #5007
|
137
|
+
* Payeezy: Pull cardholer name from billing address [almalee24] #5006
|
138
|
+
* HiPay: Add 3ds params [gasb150] #5012
|
139
|
+
* Cecabank: Fix gateway scrub method [sinourain] #5009
|
140
|
+
* Pin: Add the platform_adjustment field [yunnydang] #5011
|
141
|
+
* Priority: Allow gateway fields to be available on capture [yunnydang] #5010
|
142
|
+
* Add payment_data to NetworkTokenizationCreditCard [almalee24] #4888
|
143
|
+
* IPG: Update handling of ChargeTotal [jcreiff] #5017
|
144
|
+
* Plexo: Add the invoice_number field [yunnydang] #5019
|
145
|
+
* CheckoutV2: Handle empty address in payout destination data [jcreiff] #5024
|
146
|
+
* CyberSource: Add the auth service aggregator_id field [yunnydang] #5026
|
147
|
+
* Cecabank: exclude 3ds empty parameter [jherreraa] #5021
|
148
|
+
* Moneris: Add the customer id field [yunnydang] #5028
|
149
|
+
* Kushki: Add the product_details field [yunnydang] #5027
|
150
|
+
* GlobalCollect: Add support for encryptedPaymentData [almalee24] #5015
|
151
|
+
* Rapyd: Adding 500 errors handling [Heavyblade] #5029
|
152
|
+
* SumUp: Add 3DS fields [sinourain] #5030
|
153
|
+
* Cecabank: Enable network_transaction_id as GSF [javierpedrozaing] #5034
|
154
|
+
* Braintree: Surface the paypal_details in response object [yunnydang] #5043
|
155
|
+
* Worldline (formerly GlobalCollect): Update API endpoints [deemeyers] #5049
|
156
|
+
* Quickbooks: Update scrub method [almalee24] #5049
|
157
|
+
* Worldline (formerly GlobalCollect):Remove decrypted payment data [almalee24] #5032
|
158
|
+
* StripePI: Update authorization_from [almalee24] #5048
|
159
|
+
* FirstPay: Add REST JSON transaction methods [sinourain] #5035
|
160
|
+
* Braintree: Add payment details to failed transaction hash [yunnydang] #5050
|
161
|
+
* Cecabank: Amex CVV Update [sinourain] #5051
|
162
|
+
* FirstPay: Add support for ApplePay and GooglePay [sinourain] #5036
|
163
|
+
* XPay: Update 3DS to support 3 step process [sinourain] #5046
|
164
|
+
* SagePay: Update API endpoints [almalee24] #5057
|
165
|
+
* Bin Update: Add sodexo bins [yunnydang] #5061
|
166
|
+
* Authorize Net: Add the surcharge field [yunnydang] #5062
|
167
|
+
* Paymentez: Update field for reference_id [almalee24] #5065
|
168
|
+
* CyberSource: Extend support for `gratuity_amount` and update Mastercard NT field order [rachelkirk] #5063
|
169
|
+
* XPay: Refactor basic transactions after implement 3DS 3steps API [sinourain] #5058
|
170
|
+
* AuthorizeNet: Remove turn_on_nt flow [almalee24] #5056
|
171
|
+
* CheckoutV2: Add processing and recipient fields [yunnydang] #5068
|
172
|
+
* RedsysRest: Omit CVV from requests when not present [jcreiff] #5077
|
173
|
+
* Bin Update: Add Unionpay bin [yunnydang] #5079
|
174
|
+
* MerchantWarrior: Adding support for 3DS Global fields [Heavyblade] #5072
|
175
|
+
* FatZebra: Adding third-party 3DS params [Heavyblade] #5066
|
176
|
+
* SumUp: Remove Void method [sinourain] #5060
|
177
|
+
* StripePI: Add new ApplePay and GooglePay flow [almalee24] #5075
|
178
|
+
* Braintree: Add merchant_account_id to Verify [almalee24] #5070
|
179
|
+
* Paymentez: Update success_from [jherrera] #5082
|
180
|
+
* Update Rubocop to 1.14.0 [almalee24] #5069
|
181
|
+
* Adyen: Update error code mapping [dustinhaefele] #5085
|
182
|
+
* Updates to StripePI scrub and Paymentez success_from [almalee24] #5090
|
183
|
+
* Bin Update: Add Routex bin [yunnydang] #5089
|
184
|
+
* SumUp: Improve success_from and message_from methods [sinourain] #5087
|
185
|
+
* Adyen: Send new ignore_threed_dynamic for success_from [almalee24] #5078
|
186
|
+
* Plexo: Add flow field to capture, purchase, and auth [yunnydang] #5092
|
187
|
+
* PayTrace: Always send name in billing_address [almalee24] #5086
|
188
|
+
* StripePI: Update eci format [almalee24] #5097
|
189
|
+
* Paymentez: Remove reference_id flag [almalee24] #5081
|
190
|
+
* Cybersource Rest: Add support for normalized three ds [aenand] #5105
|
191
|
+
* Braintree: Add additional data to response [aenand] #5084
|
192
|
+
* CheckoutV2: Retain and refresh OAuth access token [sinourain] #5098
|
193
|
+
* Worldpay: Remove default ECI value [aenand] #5103
|
194
|
+
* DataTrans: Add Gateway [gasb150] #5108
|
195
|
+
* CyberSource: Update NT flow [almalee24] #5106
|
196
|
+
* FlexCharge: Add Gateway [Heavyblade] #5108
|
197
|
+
* Litle: Update enhanced data fields to pass integers [yunnydang] #5113
|
198
|
+
* Litle: Update commodity code and line item total fields [yunnydang] #5115
|
199
|
+
* Cybersource Rest: Add support for network tokens [aenand] #5107
|
200
|
+
* Decidir: Add support for customer object [rachelkirk] #5071
|
201
|
+
* Worldpay: Add support for stored credentials with network tokens [aenand] #5114
|
202
|
+
* Paymentez: Update success_from method for refunds [almalee24] #5116
|
203
|
+
* DataTrans: Add ThirdParty 3DS params [gasb150] #5118
|
204
|
+
* FlexCharge: Add ThirdParty 3DS params [javierpedrozaing] #5121
|
205
|
+
* FlexCharge: Add support for TPV store [edgarv09] #5120
|
206
|
+
* CheckoutV2: Add sender payment fields to purchase and auth [yunnydang] #5124
|
207
|
+
* HiPay: Fix parse authorization string [javierpedrozaing] #5119
|
208
|
+
* Worldpay: Add support for deafult ECI value [aenand] #5126
|
209
|
+
* DLocal: Update stored credentials [sinourain] #5112
|
210
|
+
* NMI: Add NTID override [yunnydang] #5134
|
211
|
+
* Cybersource Rest: Support L2/L3 data [aenand] #5117
|
212
|
+
* Worldpay: Support L2/L3 data [aenand] #5117
|
213
|
+
* Support UATP cardtype [javierpedrozaing] #5137
|
214
|
+
* Litle: Add 141 and 142 as successful responses [almalee24] #5135
|
215
|
+
|
216
|
+
== Version 1.135.0 (August 24, 2023)
|
217
|
+
* PaymentExpress: Correct endpoints [steveh] #4827
|
218
|
+
* Adyen: Add option to elect which error message [aenand] #4843
|
219
|
+
* Reach: Update list of supported countries [jcreiff] #4842
|
220
|
+
* Paysafe: Truncate address fields [jcreiff] #4841
|
221
|
+
* Braintree: Support third party Network Tokens [aenand] #4775
|
222
|
+
* Kushki: Fix add amount default method for subtotalIva and subtotalIva0 [yunnydang] #4845
|
223
|
+
* Rapyd: Add customer object to requests [aenand] #4838
|
224
|
+
* CyberSource: Add merchant_id [almalee24] #4844
|
225
|
+
* Global Collect: Add agent numeric code and house number field [yunnydang] #4847
|
226
|
+
* Deepstack: Add Deepstack Gateway [khoinguyendeepstack] #4830
|
227
|
+
* Braintree: Additional tests for credit transactions [jcreiff] #4848
|
228
|
+
* Rapyd: Change nesting of description, statement_descriptor, complete_payment_url, and error_payment_url [jcreiff] #4849
|
229
|
+
* Rapyd: Add merchant_reference_id [jcreiff] #4858
|
230
|
+
* Braintree: Return error for ACH on credit [jcreiff] #4859
|
231
|
+
* Rapyd: Update handling of ewallet and billing address phone [jcreiff] #4863
|
232
|
+
* IPG: Change credentials inputs to use a combined store and user ID string as the user ID input [kylene-spreedly] #4854
|
233
|
+
* Braintree Blue: Update the credit card details transaction hash [yunnydang] #4865
|
234
|
+
* VisaNet Peru: Update generate_purchase_number_stamp [almalee24] #4855
|
235
|
+
* Braintree: Add sca_exemption [almalee24] #4864
|
236
|
+
* Ebanx: Update Verify [almalee24] #4866
|
237
|
+
* Quickbooks: Remove OAuth response from refresh_access_token [almalee24] #4949
|
238
|
+
|
239
|
+
== Version 1.134.0 (July 25, 2023)
|
240
|
+
* Update required Ruby version [almalee24] #4823
|
241
|
+
* Kushki: Enable 3ds2 [jherreraa] #4832
|
242
|
+
|
6
243
|
== Version 1.133.0 (July 20, 2023)
|
7
244
|
* CyberSource: remove credentials from tests [bbraschi] #4836
|
245
|
+
* Paysafe: Map order_id to merchantRefNum [jcreiff] #4839
|
246
|
+
* Stripe PI: Gate sending NTID [almalee24] #4828
|
8
247
|
|
9
248
|
== Version 1.132.0 (July 20, 2023)
|
10
249
|
* Stripe Payment Intents: Add support for new card on file field [aenand] #4807
|
@@ -807,6 +1046,7 @@
|
|
807
1046
|
* PayU Latam: Improve error response [esmitperez] #3717
|
808
1047
|
* Vantiv: Vantiv Express - CardPresentCode, PaymentType, SubmissionType, DuplicateCheckDisableFlag [esmitperez] #3730,#3731
|
809
1048
|
* Cybersource: Ensure issueradditionaldata comes before partnerSolutionId [britth] #3733
|
1049
|
+
* RedsysRest: Add support for 3DS [almalee24] #5042
|
810
1050
|
|
811
1051
|
== Version 1.111.0
|
812
1052
|
* Fat Zebra: standardized 3DS fields and card on file extra data for Visa scheme rules [montdidier] #3409
|
@@ -7,8 +7,8 @@ module ActiveMerchant #:nodoc:
|
|
7
7
|
# You may use Check in place of CreditCard with any gateway that supports it.
|
8
8
|
class Check < Model
|
9
9
|
attr_accessor :first_name, :last_name,
|
10
|
-
|
11
|
-
|
10
|
+
:bank_name, :routing_number, :account_number,
|
11
|
+
:account_holder_type, :account_type, :number
|
12
12
|
|
13
13
|
# Used for Canadian bank accounts
|
14
14
|
attr_accessor :institution_number, :transit_number
|
@@ -29,7 +29,7 @@ module ActiveMerchant
|
|
29
29
|
result = lower_case_and_underscored_word.to_s.dup
|
30
30
|
result.gsub!(/_id$/, '')
|
31
31
|
result.tr!('_', ' ')
|
32
|
-
result.gsub(/([a-z\d]*)/i, &:downcase).gsub(/^\w/) {
|
32
|
+
result.gsub(/([a-z\d]*)/i, &:downcase).gsub(/^\w/) { Regexp.last_match(0).upcase }
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
@@ -90,8 +90,8 @@ module ActiveMerchant
|
|
90
90
|
add(:base, error)
|
91
91
|
end
|
92
92
|
|
93
|
-
def each_full
|
94
|
-
full_messages.each
|
93
|
+
def each_full(&block)
|
94
|
+
full_messages.each(&block)
|
95
95
|
end
|
96
96
|
|
97
97
|
def full_messages
|
@@ -113,6 +113,6 @@ module ActiveMerchant
|
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
116
|
-
Compatibility::Model.
|
116
|
+
Compatibility::Model.include Rails::Model
|
117
117
|
end
|
118
118
|
end
|
@@ -39,6 +39,9 @@ module ActiveMerchant #:nodoc:
|
|
39
39
|
# * Anda
|
40
40
|
# * Creditos directos (Tarjeta D)
|
41
41
|
# * Panal
|
42
|
+
# * Verve
|
43
|
+
# * Tuya
|
44
|
+
# * UATP
|
42
45
|
#
|
43
46
|
# For testing purposes, use the 'bogus' credit card brand. This skips the vast majority of
|
44
47
|
# validations, allowing you to focus on your core concerns until you're ready to be more concerned
|
@@ -132,6 +135,9 @@ module ActiveMerchant #:nodoc:
|
|
132
135
|
# * +'anda'+
|
133
136
|
# * +'tarjeta-d'+
|
134
137
|
# * +'panal'+
|
138
|
+
# * +'verve'+
|
139
|
+
# * +'tuya'+
|
140
|
+
# * +'uatp'+
|
135
141
|
#
|
136
142
|
# Or, if you wish to test your implementation, +'bogus'+.
|
137
143
|
#
|
@@ -288,7 +294,7 @@ module ActiveMerchant #:nodoc:
|
|
288
294
|
end
|
289
295
|
|
290
296
|
%w(month year start_month start_year).each do |m|
|
291
|
-
class_eval
|
297
|
+
class_eval <<~RUBY, __FILE__, __LINE__ + 1
|
292
298
|
def #{m}=(v)
|
293
299
|
@#{m} = case v
|
294
300
|
when "", nil, 0
|
@@ -297,7 +303,7 @@ module ActiveMerchant #:nodoc:
|
|
297
303
|
v.to_i
|
298
304
|
end
|
299
305
|
end
|
300
|
-
|
306
|
+
RUBY
|
301
307
|
end
|
302
308
|
|
303
309
|
def verification_value?
|
@@ -395,9 +401,7 @@ module ActiveMerchant #:nodoc:
|
|
395
401
|
def validate_card_brand_and_number #:nodoc:
|
396
402
|
errors = []
|
397
403
|
|
398
|
-
if !empty?(brand)
|
399
|
-
errors << [:brand, 'is invalid'] if !CreditCard.card_companies.include?(brand)
|
400
|
-
end
|
404
|
+
errors << [:brand, 'is invalid'] if !empty?(brand) && !CreditCard.card_companies.include?(brand)
|
401
405
|
|
402
406
|
if empty?(number)
|
403
407
|
errors << [:number, 'is required']
|
@@ -405,9 +409,7 @@ module ActiveMerchant #:nodoc:
|
|
405
409
|
errors << [:number, 'is not a valid credit card number']
|
406
410
|
end
|
407
411
|
|
408
|
-
if errors.empty?
|
409
|
-
errors << [:brand, 'does not match the card number'] if !CreditCard.matching_brand?(number, brand)
|
410
|
-
end
|
412
|
+
errors << [:brand, 'does not match the card number'] if errors.empty? && !CreditCard.matching_brand?(number, brand)
|
411
413
|
|
412
414
|
errors
|
413
415
|
end
|
@@ -425,6 +427,7 @@ module ActiveMerchant #:nodoc:
|
|
425
427
|
|
426
428
|
class ExpiryDate #:nodoc:
|
427
429
|
attr_reader :month, :year
|
430
|
+
|
428
431
|
def initialize(month, year)
|
429
432
|
@month = month.to_i
|
430
433
|
@year = year.to_i
|
@@ -5,6 +5,10 @@ module ActiveMerchant #:nodoc:
|
|
5
5
|
"#{format(credit_card.month, :two_digits)}#{format(credit_card.year, :two_digits)}"
|
6
6
|
end
|
7
7
|
|
8
|
+
def strftime_yyyymm(credit_card)
|
9
|
+
format(credit_card.year, :four_digits) + format(credit_card.month, :two_digits)
|
10
|
+
end
|
11
|
+
|
8
12
|
# This method is used to format numerical information pertaining to credit cards.
|
9
13
|
#
|
10
14
|
# format(2005, :two_digits) # => "05"
|
@@ -24,7 +24,11 @@ module ActiveMerchant #:nodoc:
|
|
24
24
|
},
|
25
25
|
'maestro_no_luhn' => ->(num) { num =~ /^(501080|501081|501082)\d{6,13}$/ },
|
26
26
|
'forbrugsforeningen' => ->(num) { num =~ /^600722\d{10}$/ },
|
27
|
-
'sodexo' =>
|
27
|
+
'sodexo' => lambda { |num|
|
28
|
+
num&.size == 16 && (
|
29
|
+
SODEXO_BINS.any? { |bin| num.slice(0, bin.size) == bin }
|
30
|
+
)
|
31
|
+
},
|
28
32
|
'alia' => ->(num) { num =~ /^(504997|505878|601030|601073|505874)\d{10}$/ },
|
29
33
|
'vr' => ->(num) { num =~ /^(627416|637036)\d{10}$/ },
|
30
34
|
'unionpay' => ->(num) { (16..19).cover?(num&.size) && in_bin_range?(num.slice(0, 8), UNIONPAY_RANGES) },
|
@@ -39,7 +43,7 @@ module ActiveMerchant #:nodoc:
|
|
39
43
|
'creditel' => ->(num) { num =~ /^601933\d{10}$/ },
|
40
44
|
'confiable' => ->(num) { num =~ /^560718\d{10}$/ },
|
41
45
|
'synchrony' => ->(num) { num =~ /^700600\d{10}$/ },
|
42
|
-
'routex' => ->(num) { num =~ /^(700676|700678)\d{13}$/ },
|
46
|
+
'routex' => ->(num) { num =~ /^(700674|700676|700678)\d{13}$/ },
|
43
47
|
'mada' => ->(num) { num&.size == 16 && in_bin_range?(num.slice(0, 6), MADA_RANGES) },
|
44
48
|
'bp_plus' => ->(num) { num =~ /^(7050\d\s\d{9}\s\d{3}$|705\d\s\d{8}\s\d{5}$)/ },
|
45
49
|
'passcard' => ->(num) { num =~ /^628026\d{10}$/ },
|
@@ -47,7 +51,10 @@ module ActiveMerchant #:nodoc:
|
|
47
51
|
'anda' => ->(num) { num =~ /^603199\d{10}$/ },
|
48
52
|
'tarjeta-d' => ->(num) { num =~ /^601828\d{10}$/ },
|
49
53
|
'hipercard' => ->(num) { num&.size == 16 && in_bin_range?(num.slice(0, 6), HIPERCARD_RANGES) },
|
50
|
-
'panal' => ->(num) { num&.size == 16 && in_bin_range?(num.slice(0, 6), PANAL_RANGES) }
|
54
|
+
'panal' => ->(num) { num&.size == 16 && in_bin_range?(num.slice(0, 6), PANAL_RANGES) },
|
55
|
+
'verve' => ->(num) { (16..19).cover?(num&.size) && in_bin_range?(num.slice(0, 6), VERVE_RANGES) },
|
56
|
+
'tuya' => ->(num) { num =~ /^588800\d{10}$/ },
|
57
|
+
'uatp' => ->(num) { num =~ /^(1175|1290)\d{11}$/ }
|
51
58
|
}
|
52
59
|
|
53
60
|
SODEXO_NO_LUHN = ->(num) { num =~ /^(505864|505865)\d{10}$/ }
|
@@ -72,6 +79,13 @@ module ActiveMerchant #:nodoc:
|
|
72
79
|
(491730..491759),
|
73
80
|
]
|
74
81
|
|
82
|
+
SODEXO_BINS = Set.new(
|
83
|
+
%w[
|
84
|
+
606071 603389 606070 606069 606068 600818 505864 505865
|
85
|
+
60607601 60607607 60894400 60894410 60894420 60607606
|
86
|
+
]
|
87
|
+
)
|
88
|
+
|
75
89
|
CARNET_RANGES = [
|
76
90
|
(506199..506499),
|
77
91
|
]
|
@@ -114,6 +128,7 @@ module ActiveMerchant #:nodoc:
|
|
114
128
|
501879 502113 502120 502121 502301
|
115
129
|
503175 503337 503645 503670
|
116
130
|
504310 504338 504363 504533 504587 504620 504639 504656 504738 504781 504910
|
131
|
+
505616
|
117
132
|
507001 507002 507004 507082 507090
|
118
133
|
560014 560565 561033
|
119
134
|
572402 572610 572626
|
@@ -161,7 +176,7 @@ module ActiveMerchant #:nodoc:
|
|
161
176
|
(501104..501105),
|
162
177
|
(501107..501108),
|
163
178
|
(501104..501105),
|
164
|
-
(501107..
|
179
|
+
(501107..501109),
|
165
180
|
(501800..501899),
|
166
181
|
(502000..502099),
|
167
182
|
(503800..503899),
|
@@ -221,7 +236,8 @@ module ActiveMerchant #:nodoc:
|
|
221
236
|
58965700..58965799,
|
222
237
|
60352200..60352299,
|
223
238
|
65027200..65027299,
|
224
|
-
65008700..65008700
|
239
|
+
65008700..65008700,
|
240
|
+
65090000..65090099
|
225
241
|
]
|
226
242
|
|
227
243
|
MADA_RANGES = [
|
@@ -236,7 +252,7 @@ module ActiveMerchant #:nodoc:
|
|
236
252
|
|
237
253
|
# https://www.discoverglobalnetwork.com/content/dam/discover/en_us/dgn/pdfs/IPP-VAR-Enabler-Compliance.pdf
|
238
254
|
UNIONPAY_RANGES = [
|
239
|
-
62000000..62000000, 62212600..62379699, 62400000..62699999, 62820000..62889999,
|
255
|
+
62000000..62000000, 62178570..62178570, 62212600..62379699, 62400000..62699999, 62820000..62889999,
|
240
256
|
81000000..81099999, 81100000..81319999, 81320000..81519999, 81520000..81639999, 81640000..81719999
|
241
257
|
]
|
242
258
|
|
@@ -251,6 +267,43 @@ module ActiveMerchant #:nodoc:
|
|
251
267
|
|
252
268
|
PANAL_RANGES = [[602049]]
|
253
269
|
|
270
|
+
VERVE_RANGES = [
|
271
|
+
[506099],
|
272
|
+
[506101],
|
273
|
+
[506103],
|
274
|
+
(506111..506114),
|
275
|
+
[506116],
|
276
|
+
[506118],
|
277
|
+
[506124],
|
278
|
+
[506127],
|
279
|
+
[506130],
|
280
|
+
(506132..506139),
|
281
|
+
[506141],
|
282
|
+
[506144],
|
283
|
+
(506146..506152),
|
284
|
+
(506154..506161),
|
285
|
+
(506163..506164),
|
286
|
+
[506167],
|
287
|
+
(506169..506198),
|
288
|
+
(507865..507866),
|
289
|
+
(507868..507872),
|
290
|
+
(507874..507899),
|
291
|
+
(507901..507909),
|
292
|
+
(507911..507919),
|
293
|
+
[507921],
|
294
|
+
(507923..507925),
|
295
|
+
(507927..507962),
|
296
|
+
[507964],
|
297
|
+
[627309],
|
298
|
+
[627903],
|
299
|
+
[628051],
|
300
|
+
[636625],
|
301
|
+
[637058],
|
302
|
+
[637634],
|
303
|
+
[639245],
|
304
|
+
[639383]
|
305
|
+
]
|
306
|
+
|
254
307
|
def self.included(base)
|
255
308
|
base.extend(ClassMethods)
|
256
309
|
end
|
@@ -315,6 +315,15 @@ module ActiveMerchant #:nodoc:
|
|
315
315
|
[first_name, last_name]
|
316
316
|
end
|
317
317
|
|
318
|
+
def split_address(full_address)
|
319
|
+
address_parts = (full_address || '').split
|
320
|
+
return [nil, nil] if address_parts.size == 0
|
321
|
+
|
322
|
+
number = address_parts.shift
|
323
|
+
street = address_parts.join(' ')
|
324
|
+
[number, street]
|
325
|
+
end
|
326
|
+
|
318
327
|
def requires!(hash, *params)
|
319
328
|
params.each do |param|
|
320
329
|
if param.is_a?(Array)
|