activemerchant 1.107.1 → 1.109.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +88 -0
- data/README.md +2 -2
- data/lib/active_merchant/billing/base.rb +0 -13
- data/lib/active_merchant/billing/check.rb +1 -1
- data/lib/active_merchant/billing/credit_card.rb +2 -0
- data/lib/active_merchant/billing/credit_card_methods.rb +9 -6
- data/lib/active_merchant/billing/gateways/adyen.rb +9 -9
- data/lib/active_merchant/billing/gateways/allied_wallet.rb +2 -2
- data/lib/active_merchant/billing/gateways/authorize_net.rb +8 -8
- data/lib/active_merchant/billing/gateways/authorize_net_arb.rb +3 -3
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +3 -3
- data/lib/active_merchant/billing/gateways/axcessms.rb +1 -1
- data/lib/active_merchant/billing/gateways/balanced.rb +1 -1
- data/lib/active_merchant/billing/gateways/bambora_apac.rb +2 -2
- data/lib/active_merchant/billing/gateways/bank_frick.rb +2 -2
- data/lib/active_merchant/billing/gateways/banwire.rb +2 -2
- data/lib/active_merchant/billing/gateways/barclaycard_smartpay.rb +2 -2
- data/lib/active_merchant/billing/gateways/barclays_epdq_extra_plus.rb +1 -1
- data/lib/active_merchant/billing/gateways/be2bill.rb +1 -1
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +4 -4
- data/lib/active_merchant/billing/gateways/blue_pay.rb +4 -4
- data/lib/active_merchant/billing/gateways/blue_snap.rb +1 -1
- data/lib/active_merchant/billing/gateways/borgun.rb +3 -3
- data/lib/active_merchant/billing/gateways/bpoint.rb +1 -1
- data/lib/active_merchant/billing/gateways/braintree/braintree_common.rb +1 -1
- data/lib/active_merchant/billing/gateways/braintree_blue.rb +89 -37
- data/lib/active_merchant/billing/gateways/bridge_pay.rb +2 -2
- data/lib/active_merchant/billing/gateways/cams.rb +2 -2
- data/lib/active_merchant/billing/gateways/card_connect.rb +1 -1
- data/lib/active_merchant/billing/gateways/card_save.rb +1 -1
- data/lib/active_merchant/billing/gateways/card_stream.rb +4 -4
- data/lib/active_merchant/billing/gateways/cardknox.rb +4 -4
- data/lib/active_merchant/billing/gateways/cardprocess.rb +1 -1
- data/lib/active_merchant/billing/gateways/cashnet.rb +1 -1
- data/lib/active_merchant/billing/gateways/cecabank.rb +1 -1
- data/lib/active_merchant/billing/gateways/cenpos.rb +12 -12
- data/lib/active_merchant/billing/gateways/checkout.rb +3 -3
- data/lib/active_merchant/billing/gateways/checkout_v2.rb +9 -6
- data/lib/active_merchant/billing/gateways/citrus_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/clearhaus.rb +4 -4
- data/lib/active_merchant/billing/gateways/commercegate.rb +1 -1
- data/lib/active_merchant/billing/gateways/conekta.rb +1 -1
- data/lib/active_merchant/billing/gateways/creditcall.rb +1 -1
- data/lib/active_merchant/billing/gateways/credorax.rb +6 -2
- data/lib/active_merchant/billing/gateways/ct_payment.rb +2 -2
- data/lib/active_merchant/billing/gateways/culqi.rb +1 -1
- data/lib/active_merchant/billing/gateways/cyber_source.rb +86 -25
- data/lib/active_merchant/billing/gateways/d_local.rb +24 -8
- data/lib/active_merchant/billing/gateways/data_cash.rb +1 -1
- data/lib/active_merchant/billing/gateways/decidir.rb +29 -0
- data/lib/active_merchant/billing/gateways/dibs.rb +2 -2
- data/lib/active_merchant/billing/gateways/digitzs.rb +2 -2
- data/lib/active_merchant/billing/gateways/ebanx.rb +17 -5
- data/lib/active_merchant/billing/gateways/efsnet.rb +2 -2
- data/lib/active_merchant/billing/gateways/elavon.rb +59 -6
- data/lib/active_merchant/billing/gateways/element.rb +16 -8
- data/lib/active_merchant/billing/gateways/epay.rb +3 -3
- data/lib/active_merchant/billing/gateways/evo_ca.rb +1 -1
- data/lib/active_merchant/billing/gateways/eway.rb +1 -1
- data/lib/active_merchant/billing/gateways/eway_managed.rb +1 -1
- data/lib/active_merchant/billing/gateways/eway_rapid.rb +2 -2
- data/lib/active_merchant/billing/gateways/exact.rb +3 -3
- data/lib/active_merchant/billing/gateways/ezic.rb +1 -1
- data/lib/active_merchant/billing/gateways/fat_zebra.rb +4 -4
- data/lib/active_merchant/billing/gateways/federated_canada.rb +1 -1
- data/lib/active_merchant/billing/gateways/finansbank.rb +2 -2
- data/lib/active_merchant/billing/gateways/first_giving.rb +1 -1
- data/lib/active_merchant/billing/gateways/first_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/firstdata_e4.rb +5 -5
- data/lib/active_merchant/billing/gateways/firstdata_e4_v27.rb +4 -4
- data/lib/active_merchant/billing/gateways/flo2cash.rb +10 -10
- data/lib/active_merchant/billing/gateways/forte.rb +9 -8
- data/lib/active_merchant/billing/gateways/garanti.rb +2 -2
- data/lib/active_merchant/billing/gateways/global_collect.rb +5 -5
- data/lib/active_merchant/billing/gateways/global_transport.rb +1 -1
- data/lib/active_merchant/billing/gateways/hdfc.rb +9 -9
- data/lib/active_merchant/billing/gateways/hps.rb +5 -3
- data/lib/active_merchant/billing/gateways/iats_payments.rb +33 -16
- data/lib/active_merchant/billing/gateways/inspire.rb +1 -1
- data/lib/active_merchant/billing/gateways/instapay.rb +1 -1
- data/lib/active_merchant/billing/gateways/ipp.rb +1 -1
- data/lib/active_merchant/billing/gateways/iridium.rb +7 -5
- data/lib/active_merchant/billing/gateways/itransact.rb +1 -1
- data/lib/active_merchant/billing/gateways/iveri.rb +6 -3
- data/lib/active_merchant/billing/gateways/ixopay.rb +2 -1
- data/lib/active_merchant/billing/gateways/jetpay.rb +2 -2
- data/lib/active_merchant/billing/gateways/jetpay_v2.rb +2 -2
- data/lib/active_merchant/billing/gateways/komoju.rb +1 -1
- data/lib/active_merchant/billing/gateways/kushki.rb +38 -9
- data/lib/active_merchant/billing/gateways/latitude19.rb +2 -2
- data/lib/active_merchant/billing/gateways/linkpoint.rb +2 -2
- data/lib/active_merchant/billing/gateways/litle.rb +10 -5
- data/lib/active_merchant/billing/gateways/maxipago.rb +2 -2
- data/lib/active_merchant/billing/gateways/mercado_pago.rb +12 -6
- data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +1 -1
- data/lib/active_merchant/billing/gateways/merchant_one.rb +2 -2
- data/lib/active_merchant/billing/gateways/merchant_partners.rb +1 -1
- data/lib/active_merchant/billing/gateways/merchant_ware.rb +1 -1
- data/lib/active_merchant/billing/gateways/merchant_ware_version_four.rb +1 -1
- data/lib/active_merchant/billing/gateways/merchant_warrior.rb +2 -2
- data/lib/active_merchant/billing/gateways/mercury.rb +4 -4
- data/lib/active_merchant/billing/gateways/metrics_global.rb +1 -1
- data/lib/active_merchant/billing/gateways/micropayment.rb +2 -2
- data/lib/active_merchant/billing/gateways/migs.rb +1 -1
- data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +1 -1
- data/lib/active_merchant/billing/gateways/monei.rb +2 -2
- data/lib/active_merchant/billing/gateways/moneris.rb +17 -17
- data/lib/active_merchant/billing/gateways/money_movers.rb +1 -1
- data/lib/active_merchant/billing/gateways/mundipagg.rb +1 -1
- data/lib/active_merchant/billing/gateways/nab_transact.rb +2 -2
- data/lib/active_merchant/billing/gateways/ncr_secure_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/net_registry.rb +2 -2
- data/lib/active_merchant/billing/gateways/netaxept.rb +3 -3
- data/lib/active_merchant/billing/gateways/netbanx.rb +47 -23
- data/lib/active_merchant/billing/gateways/netbilling.rb +2 -2
- data/lib/active_merchant/billing/gateways/netpay.rb +2 -2
- data/lib/active_merchant/billing/gateways/network_merchants.rb +1 -1
- data/lib/active_merchant/billing/gateways/nmi.rb +4 -4
- data/lib/active_merchant/billing/gateways/ogone.rb +2 -2
- data/lib/active_merchant/billing/gateways/omise.rb +1 -1
- data/lib/active_merchant/billing/gateways/openpay.rb +1 -1
- data/lib/active_merchant/billing/gateways/opp.rb +2 -2
- data/lib/active_merchant/billing/gateways/optimal_payment.rb +4 -4
- data/lib/active_merchant/billing/gateways/orbital.rb +49 -7
- data/lib/active_merchant/billing/gateways/orbital/orbital_soft_descriptors.rb +1 -1
- data/lib/active_merchant/billing/gateways/pac_net_raven.rb +1 -1
- data/lib/active_merchant/billing/gateways/pagarme.rb +2 -2
- data/lib/active_merchant/billing/gateways/pago_facil.rb +1 -1
- data/lib/active_merchant/billing/gateways/pay_conex.rb +1 -1
- data/lib/active_merchant/billing/gateways/pay_gate_xml.rb +2 -2
- data/lib/active_merchant/billing/gateways/pay_hub.rb +1 -1
- data/lib/active_merchant/billing/gateways/pay_junction.rb +3 -3
- data/lib/active_merchant/billing/gateways/pay_junction_v2.rb +2 -2
- data/lib/active_merchant/billing/gateways/pay_secure.rb +1 -1
- data/lib/active_merchant/billing/gateways/paybox_direct.rb +3 -3
- data/lib/active_merchant/billing/gateways/payeezy.rb +2 -2
- data/lib/active_merchant/billing/gateways/payex.rb +13 -13
- data/lib/active_merchant/billing/gateways/payflow.rb +5 -5
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +2 -2
- data/lib/active_merchant/billing/gateways/payflow_uk.rb +1 -1
- data/lib/active_merchant/billing/gateways/payment_express.rb +3 -3
- data/lib/active_merchant/billing/gateways/paymentez.rb +1 -1
- data/lib/active_merchant/billing/gateways/paymill.rb +1 -1
- data/lib/active_merchant/billing/gateways/paypal.rb +2 -2
- data/lib/active_merchant/billing/gateways/paypal_ca.rb +1 -1
- data/lib/active_merchant/billing/gateways/payscout.rb +1 -1
- data/lib/active_merchant/billing/gateways/paystation.rb +1 -1
- data/lib/active_merchant/billing/gateways/payu_in.rb +1 -1
- data/lib/active_merchant/billing/gateways/payu_latam.rb +7 -8
- data/lib/active_merchant/billing/gateways/payway.rb +1 -1
- data/lib/active_merchant/billing/gateways/pin.rb +2 -2
- data/lib/active_merchant/billing/gateways/plugnpay.rb +5 -5
- data/lib/active_merchant/billing/gateways/pro_pay.rb +2 -2
- data/lib/active_merchant/billing/gateways/psigate.rb +1 -1
- data/lib/active_merchant/billing/gateways/psl_card.rb +2 -2
- data/lib/active_merchant/billing/gateways/qbms.rb +1 -1
- data/lib/active_merchant/billing/gateways/quantum.rb +4 -4
- data/lib/active_merchant/billing/gateways/quickbooks.rb +6 -6
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_common.rb +3 -3
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_v10.rb +4 -4
- data/lib/active_merchant/billing/gateways/qvalent.rb +1 -1
- data/lib/active_merchant/billing/gateways/realex.rb +11 -4
- data/lib/active_merchant/billing/gateways/redsys.rb +5 -5
- data/lib/active_merchant/billing/gateways/s5.rb +1 -1
- data/lib/active_merchant/billing/gateways/safe_charge.rb +2 -2
- data/lib/active_merchant/billing/gateways/sage.rb +3 -3
- data/lib/active_merchant/billing/gateways/sage_pay.rb +3 -3
- data/lib/active_merchant/billing/gateways/sallie_mae.rb +1 -1
- data/lib/active_merchant/billing/gateways/secure_net.rb +1 -1
- data/lib/active_merchant/billing/gateways/secure_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/secure_pay_au.rb +2 -2
- data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +2 -2
- data/lib/active_merchant/billing/gateways/securion_pay.rb +1 -1
- data/lib/active_merchant/billing/gateways/skip_jack.rb +5 -5
- data/lib/active_merchant/billing/gateways/so_easy_pay.rb +7 -7
- data/lib/active_merchant/billing/gateways/spreedly_core.rb +1 -1
- data/lib/active_merchant/billing/gateways/stripe.rb +13 -8
- data/lib/active_merchant/billing/gateways/stripe_payment_intents.rb +46 -3
- data/lib/active_merchant/billing/gateways/swipe_checkout.rb +1 -1
- data/lib/active_merchant/billing/gateways/telr.rb +4 -4
- data/lib/active_merchant/billing/gateways/tns.rb +1 -1
- data/lib/active_merchant/billing/gateways/trans_first.rb +2 -2
- data/lib/active_merchant/billing/gateways/trans_first_transaction_express.rb +1 -1
- data/lib/active_merchant/billing/gateways/transact_pro.rb +3 -3
- data/lib/active_merchant/billing/gateways/transax.rb +1 -1
- data/lib/active_merchant/billing/gateways/trexle.rb +2 -2
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +5 -5
- data/lib/active_merchant/billing/gateways/usa_epay_advanced.rb +6 -6
- data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +1 -1
- data/lib/active_merchant/billing/gateways/vanco.rb +1 -1
- data/lib/active_merchant/billing/gateways/verifi.rb +3 -3
- data/lib/active_merchant/billing/gateways/viaklix.rb +1 -1
- data/lib/active_merchant/billing/gateways/visanet_peru.rb +3 -3
- data/lib/active_merchant/billing/gateways/webpay.rb +1 -1
- data/lib/active_merchant/billing/gateways/wepay.rb +2 -2
- data/lib/active_merchant/billing/gateways/wirecard.rb +1 -1
- data/lib/active_merchant/billing/gateways/world_net.rb +35 -35
- data/lib/active_merchant/billing/gateways/worldpay.rb +14 -12
- data/lib/active_merchant/billing/gateways/worldpay_online_payments.rb +1 -1
- data/lib/active_merchant/billing/gateways/worldpay_us.rb +1 -1
- data/lib/active_merchant/connection.rb +40 -42
- data/lib/active_merchant/network_connection_retries.rb +10 -12
- data/lib/active_merchant/version.rb +1 -1
- data/lib/support/gateway_support.rb +1 -1
- metadata +36 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c4b380a0488ea2f5e78175b1dfa65fee57051b7015f0b890da0bbc38d720b19
|
4
|
+
data.tar.gz: 0067c05edeb3396266fdeb63366e56fe4b2c96e9ded24957405798a36d2f4f73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 789d158841099fcb4fab1873328480657352a44febdcc938bb86897cedd1db568fc5139082272ba4415dde7a8f07dc9f75f93eaea95dab6cc7bc26a01698b091
|
7
|
+
data.tar.gz: 4d64a064ffa8d589780a785da3e1eabb2d3633db5c2ce6bbf0cf0998944f7c1bc25e4a09b557f9922bc1fe8b68f2ab2d3ef4a56dd441b9a50646911fdd5075d4
|
data/CHANGELOG
CHANGED
@@ -2,6 +2,94 @@
|
|
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
|
+
|
33
|
+
== Version 1.108.0 (Jun 9, 2020)
|
34
|
+
* Cybersource: Send cavv as xid is xid is missing [pi3r] #3658
|
35
|
+
* Forte: Change default sec_code value to PPD [molbrown] #3653
|
36
|
+
* Elavon: Add merchant initiated unscheduled field [leila-alderman] #3647
|
37
|
+
* Decidir: Add aggregate data fields [leila-alderman] #3648
|
38
|
+
* Vantiv: Vantiv(Element): add option to send terminal id in transactions [cdmackeyfree] #3654
|
39
|
+
* Update supported Ruby and Rails versions [leila-alderman] #3656
|
40
|
+
* CI: Drop unused sudo: false Travis directive [olleolleolle] #3616
|
41
|
+
* PayU Latam: Prevent blank country in billing_address [britth] #3657
|
42
|
+
* DLocal: Fix address field names [molbrown] #3651
|
43
|
+
|
44
|
+
== Version 1.107.4 (Jun 2, 2020)
|
45
|
+
* Elavon: Implement true verify action [leila-alderman] #3610
|
46
|
+
* Vantiv Express: Implement true verify [leila-alderman] #3617
|
47
|
+
* Litle: Pass expiration data for basis payment method [therufs] #3606
|
48
|
+
* Stripe Payment Intents: Error handling and backwards compatibility within refund [britth] #3627
|
49
|
+
* HPS: Prevent errors when account_type or account_holder_type are nil [britth] #3628
|
50
|
+
* D Local: Handle invalid country code errors [curiousepic] #3626
|
51
|
+
* Stripe Payment Intents: Utilize execute_threed flag to determine success [britth] #3625
|
52
|
+
* Elavon: Add Level 3 fields [leila-alderman] #3632
|
53
|
+
* CyberSource: Stored Credential fixes [curiousepic] #3624
|
54
|
+
* CyberSource: Fix invalid and missing field tests [curiousepic] #3634
|
55
|
+
* CyberSource: Pass stored credentials with purchase [curiousepic] #3636
|
56
|
+
* Mercado Pago: Add payment_method_option_id field [schwarzgeist] #3635
|
57
|
+
* Stripe: Provide error when attempting an authorize with ACH [britth] #3633
|
58
|
+
* EBANX: Send original order id as merchant_payment_code metadata [miguelxpn] #3637
|
59
|
+
* Element: Add card_present_code field [schwarzgeist] #3623
|
60
|
+
* Orbital: Add support for Level 3 fields [leila-alderman] #3639
|
61
|
+
* Firstdata: Strip newline characters from address [bittercoder] #3643
|
62
|
+
* Forte: add sec_code attribute for echeck [wsmoak] #3640
|
63
|
+
|
64
|
+
== Version 1.107.3 (May 8, 2020)
|
65
|
+
* Realex: Ignore IPv6 unsupported addresses [elfassy] #3622
|
66
|
+
* Cybersource: Set partnerSolutionID after the business rules, fixes 500 error [pi3r] #3621
|
67
|
+
|
68
|
+
== Version 1.107.2 (May 7, 2020)
|
69
|
+
* Cybersource: Send a specific card brand commerceIndicator for 3DS [pi3r] #3620
|
70
|
+
* Cybersource: Send application_id as partnerSolutionID [pi3r] #3620
|
71
|
+
* Iridium: Localize zero-decimal currencies [chinhle23] #3587
|
72
|
+
* iVeri: Fix `verify` action [chinhle23] #3588
|
73
|
+
* Ixopay: Properly support three-decimal currencies [chinhle23] #3589
|
74
|
+
* Kushki: support `auth` and `capture` [therufs] #3591
|
75
|
+
* PaymentExpress: Update references to Windcave to reflect rebranding [britth] #3595
|
76
|
+
* Decidir: Improve handling of error responses from the gateway [naashton] #3594
|
77
|
+
* CyberSource: Added support for MerchantInformation CyberSource-specific fields [apfranzen] #3592
|
78
|
+
* ePay: Send unique order ids for remote tests [curiousepic] #3593
|
79
|
+
* Checkout V2: Send more informative error messages for 4xx errors [britth] #3601
|
80
|
+
* Elavon: Add ssl_dynamic_dba field [apfranzen] #3600
|
81
|
+
* iATS Payments: Update gateway to v3 and add support for additional GSFs [naashton] #3599
|
82
|
+
* Remove deprecated `rubyforge_project` attribute and tidy up unit test output [fatcatt316] #3598
|
83
|
+
* Elavon: Cleanup inadvertant field removal (avs_address) in #3600 [apfranzen] #3602
|
84
|
+
* EBANX: Fix transaction amount for verify transaction [miguelxpn] #3603
|
85
|
+
* iATS Payments: Update gateway to accept `email`, `phone`, and `country` fields [naashton] #3607
|
86
|
+
* Braintree: Fix response for failed refunds when falling back to voids [jasonwebster] #3608
|
87
|
+
* Worldpay: Fix response for failed refunds when falling back to voids [jasonwebster] #3609
|
88
|
+
* iATS Payments: Add support for Customer Code payment method [molbrown] #3611
|
89
|
+
* HPS: Add Google Pay support [MSmedal] #3597
|
90
|
+
* Adyen: Parse appropriate message for 3DS2 authorization calls [britth] #3619
|
91
|
+
* CyberSource: Add error details response fields [schwarzgeist] #3629
|
92
|
+
|
5
93
|
== Version 1.107.1 (Apr 1, 2020)
|
6
94
|
* Add `allowed_push_host` to gemspec [mdeloupy]
|
7
95
|
|
data/README.md
CHANGED
@@ -183,7 +183,7 @@ The [ActiveMerchant Wiki](https://github.com/activemerchant/active_merchant/wiki
|
|
183
183
|
* [Paybox Direct](http://www.paybox.com/) - FR
|
184
184
|
* [Payeezy](https://developer.payeezy.com/) - CA, US
|
185
185
|
* [Payex](http://payex.com/) - DK, FI, NO, SE
|
186
|
-
* [PaymentExpress](
|
186
|
+
* [Windcave (formerly PaymentExpress)](https://www.windcave.com/) - AU, CA, DE, ES, FR, GB, HK, IE, MY, NL, NZ, SG, US, ZA
|
187
187
|
* [PAYMILL](https://paymill.com) - AD, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FO, FR, GB, GI, GR, HU, IE, IL, IS, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SE, SI, SK, TR, VA
|
188
188
|
* [PayPal Express Checkout](https://www.paypal.com/webapps/mpp/express-checkout) - US, CA, SG, AU
|
189
189
|
* [PayPal Express Checkout (UK)](https://www.paypal.com/uk/webapps/mpp/express-checkout) - GB
|
@@ -244,4 +244,4 @@ Functionality or APIs that are deprecated will be marked as such. Deprecated fun
|
|
244
244
|
|
245
245
|
## Ruby and Rails compatibility policies
|
246
246
|
|
247
|
-
Because Active Merchant is a payment library, it needs to take security seriously. For this reason, Active Merchant guarantees compatibility only with actively supported versions of Ruby and Rails. At the time of this writing, that means that Ruby 2.
|
247
|
+
Because Active Merchant is a payment library, it needs to take security seriously. For this reason, Active Merchant guarantees compatibility only with actively supported versions of Ruby and Rails. At the time of this writing, that means that Ruby 2.5+ and Rails 5.0+ are supported.
|
@@ -39,19 +39,6 @@ module ActiveMerchant #:nodoc:
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
# Return the matching integration module
|
43
|
-
# You can then get the notification from the module
|
44
|
-
# * <tt>bogus</tt>: Bogus - Does nothing (for testing)
|
45
|
-
# * <tt>chronopay</tt>: Chronopay
|
46
|
-
# * <tt>paypal</tt>: Paypal
|
47
|
-
#
|
48
|
-
# chronopay = ActiveMerchant::Billing::Base.integration('chronopay')
|
49
|
-
# notification = chronopay.notification(raw_post)
|
50
|
-
#
|
51
|
-
def self.integration(name)
|
52
|
-
Billing::Integrations.const_get(name.to_s.downcase.camelize)
|
53
|
-
end
|
54
|
-
|
55
42
|
# A check to see if we're in test mode
|
56
43
|
def self.test?
|
57
44
|
mode == :test
|
@@ -23,6 +23,7 @@ module ActiveMerchant #:nodoc:
|
|
23
23
|
# * Cabal
|
24
24
|
# * Naranja
|
25
25
|
# * UnionPay
|
26
|
+
# * Alia
|
26
27
|
#
|
27
28
|
# For testing purposes, use the 'bogus' credit card brand. This skips the vast majority of
|
28
29
|
# validations, allowing you to focus on your core concerns until you're ready to be more concerned
|
@@ -98,6 +99,7 @@ module ActiveMerchant #:nodoc:
|
|
98
99
|
# * +'cabal'+
|
99
100
|
# * +'naranja'+
|
100
101
|
# * +'union_pay'+
|
102
|
+
# * +'alia'+
|
101
103
|
#
|
102
104
|
# Or, if you wish to test your implementation, +'bogus'+.
|
103
105
|
#
|
@@ -10,7 +10,7 @@ module ActiveMerchant #:nodoc:
|
|
10
10
|
'discover' => ->(num) { num =~ /^(6011|65\d{2}|64[4-9]\d)\d{12,15}|(62\d{14,17})$/ },
|
11
11
|
'american_express' => ->(num) { num =~ /^3[47]\d{13}$/ },
|
12
12
|
'naranja' => ->(num) { num&.size == 16 && in_bin_range?(num.slice(0, 6), NARANJA_RANGES) },
|
13
|
-
'diners_club' => ->(num) { num =~ /^3(0[0-5]|[68]\d)\d{11}$/ },
|
13
|
+
'diners_club' => ->(num) { num =~ /^3(0[0-5]|[68]\d)\d{11,16}$/ },
|
14
14
|
'jcb' => ->(num) { num =~ /^35(28|29|[3-8]\d)\d{12}$/ },
|
15
15
|
'dankort' => ->(num) { num =~ /^5019\d{12}$/ },
|
16
16
|
'maestro' => lambda { |num|
|
@@ -21,6 +21,7 @@ module ActiveMerchant #:nodoc:
|
|
21
21
|
},
|
22
22
|
'forbrugsforeningen' => ->(num) { num =~ /^600722\d{10}$/ },
|
23
23
|
'sodexo' => ->(num) { num =~ /^(606071|603389|606070|606069|606068|600818)\d{10}$/ },
|
24
|
+
'alia' => ->(num) { num =~ /^(504997|505878|601030|601073|505874)\d{10}$/ },
|
24
25
|
'vr' => ->(num) { num =~ /^(627416|637036)\d{10}$/ },
|
25
26
|
'cabal' => ->(num) { num&.size == 16 && in_bin_range?(num.slice(0, 8), CABAL_RANGES) },
|
26
27
|
'unionpay' => ->(num) { (16..19).cover?(num&.size) && in_bin_range?(num.slice(0, 8), UNIONPAY_RANGES) },
|
@@ -57,10 +58,10 @@ module ActiveMerchant #:nodoc:
|
|
57
58
|
]
|
58
59
|
|
59
60
|
CARNET_BINS = Set.new(
|
60
|
-
[
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
%w[
|
62
|
+
286900 502275 606333 627535 636318 636379 639388
|
63
|
+
639484 639559 50633601 50633606 58877274 62753500
|
64
|
+
60462203 60462204 588772
|
64
65
|
]
|
65
66
|
)
|
66
67
|
|
@@ -71,7 +72,7 @@ module ActiveMerchant #:nodoc:
|
|
71
72
|
]
|
72
73
|
|
73
74
|
MAESTRO_BINS = Set.new(
|
74
|
-
[
|
75
|
+
%w[500033 581149]
|
75
76
|
)
|
76
77
|
|
77
78
|
# https://www.mastercard.us/content/dam/mccom/global/documents/mastercard-rules.pdf, page 73
|
@@ -297,6 +298,8 @@ module ActiveMerchant #:nodoc:
|
|
297
298
|
case brand
|
298
299
|
when 'naranja'
|
299
300
|
valid_naranja_algo?(numbers)
|
301
|
+
when 'alia'
|
302
|
+
true
|
300
303
|
else
|
301
304
|
valid_luhn?(numbers)
|
302
305
|
end
|
@@ -9,7 +9,7 @@ module ActiveMerchant #:nodoc:
|
|
9
9
|
self.supported_countries = %w(AT AU BE BG BR CH CY CZ DE DK EE ES FI FR GB GI GR HK HU IE IS IT LI LT LU LV MC MT MX NL NO PL PT RO SE SG SK SI US)
|
10
10
|
self.default_currency = 'USD'
|
11
11
|
self.currencies_without_fractions = %w(CVE DJF GNF IDR JPY KMF KRW PYG RWF UGX VND VUV XAF XOF XPF)
|
12
|
-
self.supported_cardtypes = [
|
12
|
+
self.supported_cardtypes = %i[visa master american_express diners_club jcb dankort maestro discover elo naranja cabal unionpay]
|
13
13
|
|
14
14
|
self.money_format = :cents
|
15
15
|
|
@@ -366,12 +366,12 @@ module ActiveMerchant #:nodoc:
|
|
366
366
|
end
|
367
367
|
|
368
368
|
def add_reference(post, authorization, options = {})
|
369
|
-
_, psp_reference,
|
369
|
+
_, psp_reference, = authorization.split('#')
|
370
370
|
post[:originalReference] = single_reference(authorization) || psp_reference
|
371
371
|
end
|
372
372
|
|
373
373
|
def add_original_reference(post, authorization, options = {})
|
374
|
-
original_psp_reference,
|
374
|
+
original_psp_reference, = authorization.split('#')
|
375
375
|
post[:originalReference] = single_reference(authorization) || original_psp_reference
|
376
376
|
end
|
377
377
|
|
@@ -418,10 +418,10 @@ module ActiveMerchant #:nodoc:
|
|
418
418
|
post[:additionalData][:scaExemption] = options[:sca_exemption] if options[:sca_exemption]
|
419
419
|
end
|
420
420
|
else
|
421
|
-
return unless options[:execute_threed] || options[:threed_dynamic]
|
421
|
+
return unless !options[:execute_threed].nil? || !options[:threed_dynamic].nil?
|
422
422
|
|
423
|
-
post[:browserInfo] = { userAgent: options[:user_agent], acceptHeader: options[:accept_header] }
|
424
|
-
post[:additionalData] = { executeThreeD:
|
423
|
+
post[:browserInfo] = { userAgent: options[:user_agent], acceptHeader: options[:accept_header] } if options[:execute_threed] || options[:threed_dynamic]
|
424
|
+
post[:additionalData] = { executeThreeD: options[:execute_threed] } if !options[:execute_threed].nil?
|
425
425
|
end
|
426
426
|
end
|
427
427
|
|
@@ -527,14 +527,14 @@ module ActiveMerchant #:nodoc:
|
|
527
527
|
end
|
528
528
|
|
529
529
|
def success_from(action, response, options)
|
530
|
-
if [
|
530
|
+
if %w[RedirectShopper ChallengeShopper].include?(response.dig('resultCode')) && !options[:execute_threed] && !options[:threed_dynamic]
|
531
531
|
response['refusalReason'] = 'Received unexpected 3DS authentication response. Use the execute_threed and/or threed_dynamic options to initiate a proper 3DS flow.'
|
532
532
|
return false
|
533
533
|
end
|
534
534
|
|
535
535
|
case action.to_s
|
536
536
|
when 'authorise', 'authorise3d'
|
537
|
-
[
|
537
|
+
%w[Authorised Received RedirectShopper].include?(response['resultCode'])
|
538
538
|
when 'capture', 'refund', 'cancel'
|
539
539
|
response['response'] == "[#{action}-received]"
|
540
540
|
when 'adjustAuthorisation'
|
@@ -549,7 +549,7 @@ module ActiveMerchant #:nodoc:
|
|
549
549
|
end
|
550
550
|
|
551
551
|
def message_from(action, response)
|
552
|
-
return authorize_message_from(response) if
|
552
|
+
return authorize_message_from(response) if %w(authorise authorise3d authorise3ds2).include?(action.to_s)
|
553
553
|
|
554
554
|
response['response'] || response['message'] || response['result']
|
555
555
|
end
|
@@ -9,8 +9,8 @@ module ActiveMerchant #:nodoc:
|
|
9
9
|
self.supported_countries = ['US']
|
10
10
|
self.default_currency = 'USD'
|
11
11
|
self.money_format = :dollars
|
12
|
-
self.supported_cardtypes = [
|
13
|
-
|
12
|
+
self.supported_cardtypes = %i[visa master american_express discover
|
13
|
+
diners_club jcb maestro]
|
14
14
|
|
15
15
|
def initialize(options={})
|
16
16
|
requires!(options, :site_id, :merchant_id, :token)
|
@@ -11,7 +11,7 @@ module ActiveMerchant
|
|
11
11
|
self.supported_countries = %w(AU CA US)
|
12
12
|
self.default_currency = 'USD'
|
13
13
|
self.money_format = :dollars
|
14
|
-
self.supported_cardtypes = [
|
14
|
+
self.supported_cardtypes = %i[visa master american_express discover diners_club jcb maestro]
|
15
15
|
|
16
16
|
self.homepage_url = 'http://www.authorize.net/'
|
17
17
|
self.display_name = 'Authorize.Net'
|
@@ -192,7 +192,7 @@ module ActiveMerchant
|
|
192
192
|
end
|
193
193
|
|
194
194
|
def unstore(authorization)
|
195
|
-
customer_profile_id,
|
195
|
+
customer_profile_id, = split_authorization(authorization)
|
196
196
|
|
197
197
|
delete_customer_profile(customer_profile_id)
|
198
198
|
end
|
@@ -311,7 +311,7 @@ module ActiveMerchant
|
|
311
311
|
end
|
312
312
|
|
313
313
|
def cim_refund(amount, authorization, options)
|
314
|
-
transaction_id, card_number,
|
314
|
+
transaction_id, card_number, = split_authorization(authorization)
|
315
315
|
|
316
316
|
commit(:cim_refund, options) do |xml|
|
317
317
|
add_order_id(xml, options)
|
@@ -331,7 +331,7 @@ module ActiveMerchant
|
|
331
331
|
end
|
332
332
|
|
333
333
|
def normal_refund(amount, authorization, options)
|
334
|
-
transaction_id, card_number,
|
334
|
+
transaction_id, card_number, = split_authorization(authorization)
|
335
335
|
|
336
336
|
commit(:refund) do |xml|
|
337
337
|
xml.transactionRequest do
|
@@ -488,7 +488,7 @@ module ActiveMerchant
|
|
488
488
|
|
489
489
|
def add_swipe_data(xml, credit_card)
|
490
490
|
TRACKS.each do |key, regex|
|
491
|
-
if regex.match(credit_card.track_data)
|
491
|
+
if regex.match?(credit_card.track_data)
|
492
492
|
@valid_track_data = true
|
493
493
|
xml.payment do
|
494
494
|
xml.trackData do
|
@@ -500,7 +500,7 @@ module ActiveMerchant
|
|
500
500
|
end
|
501
501
|
|
502
502
|
def add_token_payment_method(xml, token, options)
|
503
|
-
customer_profile_id, customer_payment_profile_id,
|
503
|
+
customer_profile_id, customer_payment_profile_id, = split_authorization(token)
|
504
504
|
customer_profile_id = options[:customer_profile_id] if options[:customer_profile_id]
|
505
505
|
customer_payment_profile_id = options[:customer_payment_profile_id] if options[:customer_payment_profile_id]
|
506
506
|
xml.customerProfileId(customer_profile_id)
|
@@ -755,7 +755,7 @@ module ActiveMerchant
|
|
755
755
|
end
|
756
756
|
|
757
757
|
def state_from(address, options)
|
758
|
-
if [
|
758
|
+
if %w[US CA].include?(address[:country])
|
759
759
|
address[:state] || 'NC'
|
760
760
|
else
|
761
761
|
address[:state] || 'n/a'
|
@@ -988,7 +988,7 @@ module ActiveMerchant
|
|
988
988
|
end
|
989
989
|
|
990
990
|
def transaction_id_from(authorization)
|
991
|
-
transaction_id,
|
991
|
+
transaction_id, = split_authorization(authorization)
|
992
992
|
transaction_id
|
993
993
|
end
|
994
994
|
|
@@ -31,8 +31,8 @@ module ActiveMerchant #:nodoc:
|
|
31
31
|
|
32
32
|
self.default_currency = 'USD'
|
33
33
|
|
34
|
-
self.supported_countries = [
|
35
|
-
self.supported_cardtypes = [
|
34
|
+
self.supported_countries = %w[US CA GB]
|
35
|
+
self.supported_cardtypes = %i[visa master american_express discover diners_club jcb]
|
36
36
|
self.homepage_url = 'http://www.authorize.net/'
|
37
37
|
self.display_name = 'Authorize.Net'
|
38
38
|
|
@@ -84,7 +84,7 @@ module ActiveMerchant #:nodoc:
|
|
84
84
|
# initial billing occurs) and the total number of billing <tt>:occurrences</tt> or payments for the subscription. (REQUIRED)
|
85
85
|
def recurring(money, creditcard, options={})
|
86
86
|
requires!(options, :interval, :duration, :billing_address)
|
87
|
-
requires!(options[:interval], :length, [
|
87
|
+
requires!(options[:interval], :length, %i[unit days months])
|
88
88
|
requires!(options[:duration], :start_date, :occurrences)
|
89
89
|
requires!(options[:billing_address], :first_name, :last_name)
|
90
90
|
|
@@ -81,7 +81,7 @@ module ActiveMerchant #:nodoc:
|
|
81
81
|
self.homepage_url = 'http://www.authorize.net/'
|
82
82
|
self.display_name = 'Authorize.Net CIM'
|
83
83
|
self.supported_countries = ['US']
|
84
|
-
self.supported_cardtypes = [
|
84
|
+
self.supported_cardtypes = %i[visa master american_express discover]
|
85
85
|
|
86
86
|
# Creates a new AuthorizeNetCimGateway
|
87
87
|
#
|
@@ -691,10 +691,10 @@ module ActiveMerchant #:nodoc:
|
|
691
691
|
add_order(xml, transaction[:order]) if transaction[:order].present?
|
692
692
|
|
693
693
|
end
|
694
|
-
if [
|
694
|
+
if %i[auth_capture auth_only capture_only].include?(transaction[:type])
|
695
695
|
xml.tag!('recurringBilling', transaction[:recurring_billing]) if transaction.has_key?(:recurring_billing)
|
696
696
|
end
|
697
|
-
tag_unless_blank(xml, 'cardCode', transaction[:card_code]) unless [
|
697
|
+
tag_unless_blank(xml, 'cardCode', transaction[:card_code]) unless %i[void refund prior_auth_capture].include?(transaction[:type])
|
698
698
|
end
|
699
699
|
end
|
700
700
|
end
|
@@ -8,7 +8,7 @@ module ActiveMerchant #:nodoc:
|
|
8
8
|
GI GR HR HU IE IL IM IS IT LI LT LU LV MC MT MX NL
|
9
9
|
NO PL PT RO RU SE SI SK TR US VA)
|
10
10
|
|
11
|
-
self.supported_cardtypes = [
|
11
|
+
self.supported_cardtypes = %i[visa master american_express discover jcb maestro]
|
12
12
|
|
13
13
|
self.homepage_url = 'http://www.axcessms.com/'
|
14
14
|
self.display_name = 'Axcess MS'
|
@@ -22,7 +22,7 @@ module ActiveMerchant #:nodoc:
|
|
22
22
|
self.live_url = 'https://api.balancedpayments.com'
|
23
23
|
|
24
24
|
self.supported_countries = ['US']
|
25
|
-
self.supported_cardtypes = [
|
25
|
+
self.supported_cardtypes = %i[visa master american_express discover]
|
26
26
|
self.homepage_url = 'https://www.balancedpayments.com/'
|
27
27
|
self.display_name = 'Balanced'
|
28
28
|
self.money_format = :cents
|
@@ -6,8 +6,8 @@ module ActiveMerchant #:nodoc:
|
|
6
6
|
self.live_url = 'https://www.bambora.co.nz/interface/api'
|
7
7
|
self.test_url = 'https://demo.bambora.co.nz/interface/api'
|
8
8
|
|
9
|
-
self.supported_countries = [
|
10
|
-
self.supported_cardtypes = [
|
9
|
+
self.supported_countries = %w[AU NZ]
|
10
|
+
self.supported_cardtypes = %i[visa master american_express diners_club jcb]
|
11
11
|
|
12
12
|
self.homepage_url = 'http://www.bambora.com/'
|
13
13
|
self.display_name = 'Bambora Asia-Pacific'
|
@@ -9,9 +9,9 @@ module ActiveMerchant #:nodoc:
|
|
9
9
|
self.test_url = 'https://test.ctpe.io/payment/ctpe'
|
10
10
|
self.live_url = 'https://ctpe.io/payment/ctpe'
|
11
11
|
|
12
|
-
self.supported_countries = [
|
12
|
+
self.supported_countries = %w[LI US]
|
13
13
|
self.default_currency = 'EUR'
|
14
|
-
self.supported_cardtypes = [
|
14
|
+
self.supported_cardtypes = %i[visa master american_express discover]
|
15
15
|
|
16
16
|
self.homepage_url = 'http://www.bankfrickacquiring.com/'
|
17
17
|
self.display_name = 'Bank Frick'
|