activemerchant 1.110.0 → 1.116.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 +82 -0
- data/lib/active_merchant.rb +1 -1
- data/lib/active_merchant/billing/avs_result.rb +1 -1
- data/lib/active_merchant/billing/compatibility.rb +3 -3
- data/lib/active_merchant/billing/credit_card.rb +1 -1
- data/lib/active_merchant/billing/credit_card_methods.rb +6 -6
- data/lib/active_merchant/billing/gateway.rb +1 -1
- data/lib/active_merchant/billing/gateways/adyen.rb +30 -15
- data/lib/active_merchant/billing/gateways/allied_wallet.rb +7 -7
- data/lib/active_merchant/billing/gateways/authorize_net.rb +19 -17
- data/lib/active_merchant/billing/gateways/authorize_net_arb.rb +3 -4
- data/lib/active_merchant/billing/gateways/authorize_net_cim.rb +2 -2
- data/lib/active_merchant/billing/gateways/axcessms.rb +8 -9
- data/lib/active_merchant/billing/gateways/balanced.rb +5 -4
- data/lib/active_merchant/billing/gateways/bambora_apac.rb +8 -8
- data/lib/active_merchant/billing/gateways/bank_frick.rb +8 -8
- data/lib/active_merchant/billing/gateways/banwire.rb +1 -1
- data/lib/active_merchant/billing/gateways/barclaycard_smartpay.rb +6 -4
- data/lib/active_merchant/billing/gateways/beanstream.rb +3 -3
- data/lib/active_merchant/billing/gateways/beanstream/beanstream_core.rb +4 -5
- data/lib/active_merchant/billing/gateways/blue_pay.rb +2 -3
- data/lib/active_merchant/billing/gateways/blue_snap.rb +83 -23
- data/lib/active_merchant/billing/gateways/bogus.rb +19 -19
- data/lib/active_merchant/billing/gateways/borgun.rb +12 -12
- data/lib/active_merchant/billing/gateways/bpoint.rb +8 -8
- data/lib/active_merchant/billing/gateways/braintree.rb +1 -1
- data/lib/active_merchant/billing/gateways/braintree_blue.rb +14 -17
- data/lib/active_merchant/billing/gateways/bridge_pay.rb +7 -7
- data/lib/active_merchant/billing/gateways/cams.rb +8 -8
- 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 +2 -2
- data/lib/active_merchant/billing/gateways/cardknox.rb +8 -8
- data/lib/active_merchant/billing/gateways/cardprocess.rb +1 -1
- data/lib/active_merchant/billing/gateways/cecabank.rb +5 -5
- data/lib/active_merchant/billing/gateways/cenpos.rb +11 -11
- data/lib/active_merchant/billing/gateways/checkout.rb +2 -2
- data/lib/active_merchant/billing/gateways/checkout_v2.rb +17 -20
- data/lib/active_merchant/billing/gateways/clearhaus.rb +7 -7
- data/lib/active_merchant/billing/gateways/commercegate.rb +1 -1
- data/lib/active_merchant/billing/gateways/conekta.rb +2 -2
- data/lib/active_merchant/billing/gateways/creditcall.rb +10 -10
- data/lib/active_merchant/billing/gateways/credorax.rb +15 -9
- data/lib/active_merchant/billing/gateways/ct_payment.rb +10 -10
- data/lib/active_merchant/billing/gateways/culqi.rb +10 -10
- data/lib/active_merchant/billing/gateways/cyber_source.rb +58 -37
- data/lib/active_merchant/billing/gateways/d_local.rb +11 -11
- data/lib/active_merchant/billing/gateways/data_cash.rb +2 -3
- data/lib/active_merchant/billing/gateways/decidir.rb +10 -9
- data/lib/active_merchant/billing/gateways/dibs.rb +8 -8
- data/lib/active_merchant/billing/gateways/digitzs.rb +6 -6
- data/lib/active_merchant/billing/gateways/ebanx.rb +9 -9
- data/lib/active_merchant/billing/gateways/efsnet.rb +3 -4
- data/lib/active_merchant/billing/gateways/elavon.rb +251 -232
- data/lib/active_merchant/billing/gateways/element.rb +12 -8
- data/lib/active_merchant/billing/gateways/evo_ca.rb +5 -6
- data/lib/active_merchant/billing/gateways/eway.rb +3 -4
- data/lib/active_merchant/billing/gateways/eway_managed.rb +6 -7
- data/lib/active_merchant/billing/gateways/eway_rapid.rb +8 -8
- data/lib/active_merchant/billing/gateways/exact.rb +8 -9
- data/lib/active_merchant/billing/gateways/ezic.rb +8 -8
- data/lib/active_merchant/billing/gateways/fat_zebra.rb +9 -7
- data/lib/active_merchant/billing/gateways/federated_canada.rb +2 -3
- data/lib/active_merchant/billing/gateways/first_giving.rb +1 -1
- data/lib/active_merchant/billing/gateways/first_pay.rb +6 -6
- data/lib/active_merchant/billing/gateways/firstdata_e4.rb +7 -7
- data/lib/active_merchant/billing/gateways/firstdata_e4_v27.rb +4 -4
- data/lib/active_merchant/billing/gateways/flo2cash.rb +9 -9
- data/lib/active_merchant/billing/gateways/flo2cash_simple.rb +1 -1
- data/lib/active_merchant/billing/gateways/forte.rb +14 -8
- data/lib/active_merchant/billing/gateways/global_collect.rb +15 -10
- data/lib/active_merchant/billing/gateways/global_transport.rb +7 -7
- data/lib/active_merchant/billing/gateways/hdfc.rb +10 -10
- data/lib/active_merchant/billing/gateways/hps.rb +16 -13
- data/lib/active_merchant/billing/gateways/iats_payments.rb +9 -4
- data/lib/active_merchant/billing/gateways/in_context_paypal_express.rb +1 -1
- data/lib/active_merchant/billing/gateways/inspire.rb +3 -4
- data/lib/active_merchant/billing/gateways/instapay.rb +1 -2
- data/lib/active_merchant/billing/gateways/ipp.rb +7 -7
- data/lib/active_merchant/billing/gateways/iridium.rb +16 -17
- data/lib/active_merchant/billing/gateways/iveri.rb +7 -7
- data/lib/active_merchant/billing/gateways/ixopay.rb +7 -7
- data/lib/active_merchant/billing/gateways/jetpay.rb +1 -2
- data/lib/active_merchant/billing/gateways/jetpay_v2.rb +4 -5
- data/lib/active_merchant/billing/gateways/kushki.rb +6 -6
- data/lib/active_merchant/billing/gateways/latitude19.rb +14 -14
- data/lib/active_merchant/billing/gateways/linkpoint.rb +5 -6
- data/lib/active_merchant/billing/gateways/litle.rb +12 -12
- data/lib/active_merchant/billing/gateways/mastercard.rb +12 -12
- data/lib/active_merchant/billing/gateways/mercado_pago.rb +8 -8
- data/lib/active_merchant/billing/gateways/merchant_e_solutions.rb +1 -2
- data/lib/active_merchant/billing/gateways/merchant_one.rb +1 -1
- data/lib/active_merchant/billing/gateways/merchant_partners.rb +10 -10
- data/lib/active_merchant/billing/gateways/merchant_ware.rb +5 -7
- data/lib/active_merchant/billing/gateways/merchant_ware_version_four.rb +4 -6
- data/lib/active_merchant/billing/gateways/mercury.rb +4 -4
- data/lib/active_merchant/billing/gateways/metrics_global.rb +4 -5
- data/lib/active_merchant/billing/gateways/micropayment.rb +8 -8
- data/lib/active_merchant/billing/gateways/migs.rb +3 -4
- data/lib/active_merchant/billing/gateways/modern_payments_cim.rb +2 -4
- data/lib/active_merchant/billing/gateways/monei.rb +7 -7
- data/lib/active_merchant/billing/gateways/moneris.rb +4 -3
- data/lib/active_merchant/billing/gateways/money_movers.rb +2 -3
- data/lib/active_merchant/billing/gateways/mundipagg.rb +37 -10
- data/lib/active_merchant/billing/gateways/nab_transact.rb +2 -4
- data/lib/active_merchant/billing/gateways/ncr_secure_pay.rb +7 -7
- data/lib/active_merchant/billing/gateways/net_registry.rb +1 -2
- data/lib/active_merchant/billing/gateways/netaxept.rb +6 -6
- data/lib/active_merchant/billing/gateways/netbanx.rb +12 -10
- data/lib/active_merchant/billing/gateways/netbilling.rb +4 -5
- data/lib/active_merchant/billing/gateways/network_merchants.rb +2 -3
- data/lib/active_merchant/billing/gateways/nmi.rb +21 -7
- data/lib/active_merchant/billing/gateways/ogone.rb +3 -3
- data/lib/active_merchant/billing/gateways/omise.rb +13 -13
- data/lib/active_merchant/billing/gateways/openpay.rb +4 -5
- data/lib/active_merchant/billing/gateways/opp.rb +12 -12
- data/lib/active_merchant/billing/gateways/optimal_payment.rb +3 -4
- data/lib/active_merchant/billing/gateways/orbital.rb +66 -64
- data/lib/active_merchant/billing/gateways/pac_net_raven.rb +3 -4
- data/lib/active_merchant/billing/gateways/pagarme.rb +9 -9
- data/lib/active_merchant/billing/gateways/pago_facil.rb +2 -2
- data/lib/active_merchant/billing/gateways/pay_conex.rb +8 -8
- data/lib/active_merchant/billing/gateways/pay_gate_xml.rb +6 -7
- data/lib/active_merchant/billing/gateways/pay_hub.rb +7 -8
- data/lib/active_merchant/billing/gateways/pay_junction.rb +4 -5
- data/lib/active_merchant/billing/gateways/pay_junction_v2.rb +9 -9
- data/lib/active_merchant/billing/gateways/pay_secure.rb +2 -3
- data/lib/active_merchant/billing/gateways/paybox_direct.rb +23 -1
- data/lib/active_merchant/billing/gateways/payeezy.rb +12 -12
- data/lib/active_merchant/billing/gateways/payex.rb +11 -12
- data/lib/active_merchant/billing/gateways/payflow.rb +4 -1
- data/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +1 -1
- data/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +1 -1
- data/lib/active_merchant/billing/gateways/payment_express.rb +1 -2
- data/lib/active_merchant/billing/gateways/paymentez.rb +5 -5
- data/lib/active_merchant/billing/gateways/paymill.rb +10 -10
- data/lib/active_merchant/billing/gateways/paypal_express.rb +1 -1
- data/lib/active_merchant/billing/gateways/paypal_express_common.rb +1 -1
- data/lib/active_merchant/billing/gateways/payscout.rb +1 -2
- data/lib/active_merchant/billing/gateways/paystation.rb +3 -4
- data/lib/active_merchant/billing/gateways/payu_in.rb +3 -3
- data/lib/active_merchant/billing/gateways/payu_latam.rb +21 -11
- data/lib/active_merchant/billing/gateways/payway.rb +8 -9
- data/lib/active_merchant/billing/gateways/plugnpay.rb +2 -3
- data/lib/active_merchant/billing/gateways/pro_pay.rb +8 -8
- data/lib/active_merchant/billing/gateways/psigate.rb +3 -4
- data/lib/active_merchant/billing/gateways/psl_card.rb +1 -2
- data/lib/active_merchant/billing/gateways/qbms.rb +4 -5
- data/lib/active_merchant/billing/gateways/quantum.rb +1 -2
- data/lib/active_merchant/billing/gateways/quickbooks.rb +4 -3
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_v10.rb +3 -4
- data/lib/active_merchant/billing/gateways/quickpay/quickpay_v4to7.rb +1 -2
- data/lib/active_merchant/billing/gateways/qvalent.rb +9 -9
- data/lib/active_merchant/billing/gateways/realex.rb +2 -1
- data/lib/active_merchant/billing/gateways/redsys.rb +7 -7
- data/lib/active_merchant/billing/gateways/s5.rb +7 -7
- data/lib/active_merchant/billing/gateways/safe_charge.rb +12 -12
- data/lib/active_merchant/billing/gateways/sage.rb +3 -5
- data/lib/active_merchant/billing/gateways/sage_pay.rb +6 -7
- data/lib/active_merchant/billing/gateways/sallie_mae.rb +1 -2
- data/lib/active_merchant/billing/gateways/secure_net.rb +1 -2
- data/lib/active_merchant/billing/gateways/secure_pay.rb +3 -4
- data/lib/active_merchant/billing/gateways/secure_pay_au.rb +2 -4
- data/lib/active_merchant/billing/gateways/secure_pay_tech.rb +1 -2
- data/lib/active_merchant/billing/gateways/securion_pay.rb +5 -6
- data/lib/active_merchant/billing/gateways/skip_jack.rb +3 -4
- data/lib/active_merchant/billing/gateways/smart_ps.rb +5 -6
- data/lib/active_merchant/billing/gateways/so_easy_pay.rb +7 -7
- data/lib/active_merchant/billing/gateways/spreedly_core.rb +6 -6
- data/lib/active_merchant/billing/gateways/stripe.rb +11 -11
- data/lib/active_merchant/billing/gateways/stripe_payment_intents.rb +9 -0
- data/lib/active_merchant/billing/gateways/swipe_checkout.rb +3 -4
- data/lib/active_merchant/billing/gateways/telr.rb +9 -9
- data/lib/active_merchant/billing/gateways/trans_first.rb +3 -3
- data/lib/active_merchant/billing/gateways/trans_first_transaction_express.rb +14 -14
- data/lib/active_merchant/billing/gateways/transact_pro.rb +9 -9
- data/lib/active_merchant/billing/gateways/trust_commerce.rb +8 -9
- data/lib/active_merchant/billing/gateways/usa_epay.rb +1 -1
- data/lib/active_merchant/billing/gateways/usa_epay_advanced.rb +36 -36
- data/lib/active_merchant/billing/gateways/usa_epay_transaction.rb +4 -5
- data/lib/active_merchant/billing/gateways/vanco.rb +3 -3
- data/lib/active_merchant/billing/gateways/verifi.rb +1 -2
- data/lib/active_merchant/billing/gateways/viaklix.rb +1 -2
- data/lib/active_merchant/billing/gateways/visanet_peru.rb +10 -10
- data/lib/active_merchant/billing/gateways/webpay.rb +2 -2
- data/lib/active_merchant/billing/gateways/wepay.rb +3 -2
- data/lib/active_merchant/billing/gateways/wirecard.rb +1 -2
- data/lib/active_merchant/billing/gateways/worldpay.rb +12 -8
- data/lib/active_merchant/billing/gateways/worldpay_online_payments.rb +14 -16
- data/lib/active_merchant/billing/gateways/worldpay_us.rb +9 -9
- data/lib/active_merchant/billing/response.rb +1 -1
- data/lib/active_merchant/country.rb +1 -1
- data/lib/active_merchant/network_connection_retries.rb +2 -2
- data/lib/active_merchant/post_data.rb +1 -1
- data/lib/active_merchant/posts_data.rb +1 -1
- data/lib/active_merchant/version.rb +1 -1
- data/lib/support/ssl_verify.rb +2 -2
- data/lib/support/ssl_version.rb +2 -2
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c32d76816ad9cdc73be63181629990b876d69e62e84c324b0cf0b240bb4fab42
|
|
4
|
+
data.tar.gz: 8c4263133c364d786f480ac146e174765ac1a5b5c462680c17f4f104af9f0d49
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 167eff38aa013365fab6ff2ba49cee58b15b8b5aa7f604f2c58d0040fac2fe931a4550c3fe594df618326630138ef63265767f2270f3ae6838642a26694fb921
|
|
7
|
+
data.tar.gz: 23a60e19999c1ce903bfc35503eac491d5cff0de0b59ab8dfe99e67f2f0d4b31380ef3826926c70cc60303c348bfa9377e642ed420f58d519a1ec779521516db
|
data/CHANGELOG
CHANGED
|
@@ -2,6 +2,88 @@
|
|
|
2
2
|
|
|
3
3
|
== HEAD
|
|
4
4
|
|
|
5
|
+
== Version 1.116.0 (October 28th)
|
|
6
|
+
* Remove Braintree specific version dependency [pi3r] #38000
|
|
7
|
+
|
|
8
|
+
== Version 1.115.0 (October 27th)
|
|
9
|
+
* Checkout v2: $0 Auth on gateway [jessiagee] #3762
|
|
10
|
+
* Adyen: Safely add execute_threeds: false [curiousepic] #3756
|
|
11
|
+
* RuboCop: Fix Layout/SpaceAroundEqualsInParameterDefault [leila-alderman] #3720
|
|
12
|
+
* iATS: Allow email to be passed outside of the billing_address context [naashton] #3750
|
|
13
|
+
* Orbital: Don't pass xid for transactions using network tokens [britth] #3757
|
|
14
|
+
* Forte: Add service_fee_amount field [meagabeth] #3751
|
|
15
|
+
* WorldPay: Add support for idempotency_key[cdmackeyfree] #3759
|
|
16
|
+
* Orbital: Handle line_tot key as a string [naashton] #3760
|
|
17
|
+
* RuboCop: Fix Lint/UnusedMethodArgument [leila-alderman] #3721
|
|
18
|
+
* RuboCop: Fix Naming/MemoizedInstanceVariableName [leila-alderman] #3722
|
|
19
|
+
* RuboCop: Fix Style/BlockComments [leila-alderman] #3729
|
|
20
|
+
* Checkout V2: Move to single-transaction Purchases [curiousepic] #3761
|
|
21
|
+
* RuboCop: Fix Naming/ConstantName [leila-alderman] #3723
|
|
22
|
+
* Orbital: Fix schema errors [britth] #3766
|
|
23
|
+
* Checkout V2: Start testing via amount code [curiousepic] #3767
|
|
24
|
+
* CyberSource: Don't include empty `mdd_` fields [arbianchi] #3758
|
|
25
|
+
* RuboCop: Fix Naming/VariableNumber [leila-alderman] #3725
|
|
26
|
+
* Update BIN ranges for Elo cardtype [cdmackeyfree] #3769
|
|
27
|
+
* Orbital: Resolve CardIndicators issue [meagabeth] #3771
|
|
28
|
+
* Adyen: Add subMerchant fields [naashton] #3772
|
|
29
|
+
* PayPal Express: reduce param requirements [shasum] #3773
|
|
30
|
+
* PayU Latam: Support partial refunds [leila-alderman] #3774
|
|
31
|
+
* RuboCop: Fix Style/Alias [leila-alderman] #3727
|
|
32
|
+
* Stripe PI: Allow `on_behalf_of` to be passed alone #3776
|
|
33
|
+
* RuboCop: Fix Performance/RedundantMatch [leila-alderman] #3765
|
|
34
|
+
* RuboCop: Fix Layout/MultilineMethodCallBraceLayout [leila-alderman] #3763
|
|
35
|
+
* NMI: Add standardized 3DS fields [meagabeth] #3775
|
|
36
|
+
* Mundipagg: Add support for SubMerchant fields [meagabeth] #3779
|
|
37
|
+
* Stripe Payment Intents: Add request_three_d_secure option [molbrown] #3787
|
|
38
|
+
* Decidir: Add support for csmdds fields [naashton] #3786
|
|
39
|
+
* RuboCop: Fix Performance/StringReplacement [leila-alderman] #3782
|
|
40
|
+
* RuboCop: Fix Naming/HeredocDelimiterCase & Naming [leila-alderman] #3781
|
|
41
|
+
* BlueSnap: Add address fields to contact info [naashton] #3777
|
|
42
|
+
* RuboCop: Fix Layout/SpaceInsideHashLiteralBraces [leila-alderman] #3780
|
|
43
|
+
* RuboCop: Fix Style/AndOr [leila-alderman] #3783
|
|
44
|
+
* Checkout V2: Support ability to pass attempt_n3d 3ds field [naashton] #3788
|
|
45
|
+
* Elavon: Upgrade to `processxml.do` [therufs] #3784
|
|
46
|
+
* Checkout V2: Support for attempt_n3d 3DS field [naashton] #3790
|
|
47
|
+
* Elavon: Strip ampersands [therufs] #3795
|
|
48
|
+
* Paybox: Add support for 3DS 1.0 values [jcpaybox] #3335
|
|
49
|
+
|
|
50
|
+
== Version 1.114.0
|
|
51
|
+
* BlueSnap: Add address1,address2,phone,shipping_* support #3749
|
|
52
|
+
* BlueSnap: Protect against `nil` metadata [carrigan] #3752
|
|
53
|
+
* Cybersource: [CyberSource] Ensure the default address doesn't override `ActionController::Parameters` [pi3r] #3755
|
|
54
|
+
|
|
55
|
+
== Version 1.113.0
|
|
56
|
+
* Orbital: Add cardIndicators field [meagabeth] #3734
|
|
57
|
+
* Openpay: Add Colombia to supported countries [molbrown] #3740
|
|
58
|
+
* Mercado Pago: Update Device Id Header field [cdmackeyfree] #3741
|
|
59
|
+
* RuboCop: Fix Style/TrailingCommaInHashLiteral [leila-alderman] #3718
|
|
60
|
+
* RuboCop: Fix Naming/PredicateName [leila-alderman] #3724
|
|
61
|
+
* RuboCop: Fix Style/Attr [leila-alderman] #3728
|
|
62
|
+
* Payflow: Use application_id to set buttonsource [britth] #3737
|
|
63
|
+
* HPS: Enable refunds using capture transaction [britth] #3738
|
|
64
|
+
* Quickbooks: Omit empty strings in address [leila-alderman] #3743
|
|
65
|
+
* BlueSnap: Add transactionMetaData support #3745
|
|
66
|
+
* Orbital: Fix typo in PC3DtlLineTot field [naashton] #3736
|
|
67
|
+
* Credorax: Send first and last name parameters for CFT transactions [britth] #3748
|
|
68
|
+
* Orbital: Update CardIndicators field to fix bug [meagabeth] #3746
|
|
69
|
+
* CyberSource: Always send default address [leila-alderman] #3747
|
|
70
|
+
* Netbanx: Reject partial refund on pending status [rockyhakjoong] #3735
|
|
71
|
+
|
|
72
|
+
== Version 1.112.0
|
|
73
|
+
* Cybersource: add `maestro` and `diners_club` eci brand mapping [bbraschi] #3708
|
|
74
|
+
* Cybersource: Ensure Partner Solution Id placement conforms to schema [britth] #3715
|
|
75
|
+
* Adyen: Adyen: Pass `subMerchantId` as `additionalData` [naashton] #3714
|
|
76
|
+
* Litle: Omit checkNum when nil [leila-alderman] #3719
|
|
77
|
+
* PayU Latam: Improve error response [esmitperez] #3717
|
|
78
|
+
* Vantiv: Vantiv Express - CardPresentCode, PaymentType, SubmissionType, DuplicateCheckDisableFlag [esmitperez] #3730,#3731
|
|
79
|
+
* Cybersource: Ensure issueradditionaldata comes before partnerSolutionId [britth] #3733
|
|
80
|
+
|
|
81
|
+
== Version 1.111.0
|
|
82
|
+
* Fat Zebra: standardized 3DS fields and card on file extra data for Visa scheme rules [montdidier] #3409
|
|
83
|
+
* Realex: Change 3DSecure v1 message_version to a valid format [shuhala] #3702
|
|
84
|
+
* Ingenico/ GlobalCollect: Add field for installments [cdmackeyfree] #3707
|
|
85
|
+
* Cybersource: do not send 3DS fields if 'cavv` is missing and `commerceIndicator` is inferred [bbraschi] #3712
|
|
86
|
+
|
|
5
87
|
== Version 1.110.0
|
|
6
88
|
* FirstData e4 v27+: Strip linebreaks from address [curiousepic] #3693
|
|
7
89
|
* Adyen: Change shopper_email to email and shopper_ip to ip [rikterbeek] #3675
|
data/lib/active_merchant.rb
CHANGED
|
@@ -50,7 +50,7 @@ require 'active_merchant/version'
|
|
|
50
50
|
require 'active_merchant/country'
|
|
51
51
|
|
|
52
52
|
module ActiveMerchant
|
|
53
|
-
def self.deprecated(message, caller=Kernel.caller[1])
|
|
53
|
+
def self.deprecated(message, caller = Kernel.caller[1])
|
|
54
54
|
warning = caller + ': ' + message
|
|
55
55
|
if respond_to?(:logger) && logger.present?
|
|
56
56
|
logger.warn(warning)
|
|
@@ -28,7 +28,7 @@ module ActiveMerchant
|
|
|
28
28
|
def self.humanize(lower_case_and_underscored_word)
|
|
29
29
|
result = lower_case_and_underscored_word.to_s.dup
|
|
30
30
|
result.gsub!(/_id$/, '')
|
|
31
|
-
result.
|
|
31
|
+
result.tr!('_', ' ')
|
|
32
32
|
result.gsub(/([a-z\d]*)/i, &:downcase).gsub(/^\w/) { $&.upcase }
|
|
33
33
|
end
|
|
34
34
|
end
|
|
@@ -56,7 +56,7 @@ module ActiveMerchant
|
|
|
56
56
|
private
|
|
57
57
|
|
|
58
58
|
def internal_errors
|
|
59
|
-
@
|
|
59
|
+
@internal_errors ||= Errors.new
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
class Errors < Hash
|
|
@@ -75,7 +75,7 @@ module ActiveMerchant
|
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
def empty?
|
|
78
|
-
all? { |
|
|
78
|
+
all? { |_k, v| v&.empty? }
|
|
79
79
|
end
|
|
80
80
|
|
|
81
81
|
def on(field)
|
|
@@ -190,7 +190,7 @@ module ActiveMerchant #:nodoc:
|
|
|
190
190
|
'contactless' => 'Data was read by a Contactless EMV kernel. Issuer script results are not available.',
|
|
191
191
|
'contactless_magstripe' => 'Contactless data was read with a non-EMV protocol.',
|
|
192
192
|
'contact' => 'Data was read using the EMV protocol. Issuer script results may follow.',
|
|
193
|
-
'contact_quickchip' => 'Data was read by the Quickchip EMV kernel. Issuer script results are not available.'
|
|
193
|
+
'contact_quickchip' => 'Data was read by the Quickchip EMV kernel. Issuer script results are not available.'
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
# Returns the ciphertext of the card's encrypted PIN.
|
|
@@ -104,11 +104,11 @@ module ActiveMerchant #:nodoc:
|
|
|
104
104
|
506707..506708, 506715..506715, 506718..506722, 506724..506724, 506726..506736, 506739..506739, 506741..506743,
|
|
105
105
|
506745..506747, 506753..506753, 506774..506776, 506778..506778, 509000..509001, 509003..509003, 509007..509007,
|
|
106
106
|
509020..509022, 509035..509035, 509039..509042, 509045..509045, 509048..509048, 509051..509071, 509073..509074,
|
|
107
|
-
509077..509080, 509084..
|
|
108
|
-
627780..627780, 636368..636368, 650031..650033, 650035..650045, 650047..650047, 650406..650410,
|
|
109
|
-
650439..650439, 650485..650504, 650506..650530, 650577..650580, 650582..650591, 650721..650727,
|
|
110
|
-
650928..650928, 650938..650939, 650946..650948, 650954..650955, 650962..650963, 650967..650967,
|
|
111
|
-
651652..651667, 651675..651678, 655000..655010, 655012..655015, 655051..655052, 655056..655057
|
|
107
|
+
509077..509080, 509084..509089, 509091..509094, 509098..509098, 509100..509100, 509104..509104, 509106..509109,
|
|
108
|
+
509257..509257, 627780..627780, 636368..636368, 650031..650033, 650035..650045, 650047..650047, 650406..650410,
|
|
109
|
+
650434..650436, 650439..650439, 650485..650504, 650506..650530, 650577..650580, 650582..650591, 650721..650727,
|
|
110
|
+
650901..650922, 650928..650928, 650938..650939, 650946..650948, 650954..650955, 650962..650963, 650967..650967,
|
|
111
|
+
650971..650971, 651652..651667, 651675..651678, 655000..655010, 655012..655015, 655051..655052, 655056..655057
|
|
112
112
|
]
|
|
113
113
|
|
|
114
114
|
# Alelo provides BIN ranges by e-mailing them out periodically.
|
|
@@ -329,7 +329,7 @@ module ActiveMerchant #:nodoc:
|
|
|
329
329
|
54 => 3, # 6 * 2 - 9
|
|
330
330
|
55 => 5, # etc ...
|
|
331
331
|
56 => 7,
|
|
332
|
-
57 => 9
|
|
332
|
+
57 => 9
|
|
333
333
|
}.freeze
|
|
334
334
|
|
|
335
335
|
# Checks the validity of a card number by use of the Luhn Algorithm.
|
|
@@ -95,7 +95,7 @@ module ActiveMerchant #:nodoc:
|
|
|
95
95
|
pickup_card: 'pick_up_card',
|
|
96
96
|
config_error: 'config_error',
|
|
97
97
|
test_mode_live_card: 'test_mode_live_card',
|
|
98
|
-
unsupported_feature: 'unsupported_feature'
|
|
98
|
+
unsupported_feature: 'unsupported_feature'
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
cattr_reader :implementations
|
|
@@ -26,16 +26,16 @@ module ActiveMerchant #:nodoc:
|
|
|
26
26
|
'132' => STANDARD_ERROR_CODE[:incorrect_address],
|
|
27
27
|
'133' => STANDARD_ERROR_CODE[:incorrect_address],
|
|
28
28
|
'134' => STANDARD_ERROR_CODE[:incorrect_address],
|
|
29
|
-
'135' => STANDARD_ERROR_CODE[:incorrect_address]
|
|
29
|
+
'135' => STANDARD_ERROR_CODE[:incorrect_address]
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
def initialize(options={})
|
|
32
|
+
def initialize(options = {})
|
|
33
33
|
requires!(options, :username, :password, :merchant_account)
|
|
34
34
|
@username, @password, @merchant_account = options.values_at(:username, :password, :merchant_account)
|
|
35
35
|
super
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
def purchase(money, payment, options={})
|
|
38
|
+
def purchase(money, payment, options = {})
|
|
39
39
|
if options[:execute_threed] || options[:threed_dynamic]
|
|
40
40
|
authorize(money, payment, options)
|
|
41
41
|
else
|
|
@@ -46,7 +46,7 @@ module ActiveMerchant #:nodoc:
|
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
def authorize(money, payment, options={})
|
|
49
|
+
def authorize(money, payment, options = {})
|
|
50
50
|
requires!(options, :order_id)
|
|
51
51
|
post = init_post(options)
|
|
52
52
|
add_invoice(post, money, options)
|
|
@@ -62,7 +62,7 @@ module ActiveMerchant #:nodoc:
|
|
|
62
62
|
commit('authorise', post, options)
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
-
def capture(money, authorization, options={})
|
|
65
|
+
def capture(money, authorization, options = {})
|
|
66
66
|
post = init_post(options)
|
|
67
67
|
add_invoice_for_modification(post, money, options)
|
|
68
68
|
add_reference(post, authorization, options)
|
|
@@ -70,7 +70,7 @@ module ActiveMerchant #:nodoc:
|
|
|
70
70
|
commit('capture', post, options)
|
|
71
71
|
end
|
|
72
72
|
|
|
73
|
-
def refund(money, authorization, options={})
|
|
73
|
+
def refund(money, authorization, options = {})
|
|
74
74
|
post = init_post(options)
|
|
75
75
|
add_invoice_for_modification(post, money, options)
|
|
76
76
|
add_original_reference(post, authorization, options)
|
|
@@ -78,13 +78,13 @@ module ActiveMerchant #:nodoc:
|
|
|
78
78
|
commit('refund', post, options)
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
-
def void(authorization, options={})
|
|
81
|
+
def void(authorization, options = {})
|
|
82
82
|
post = init_post(options)
|
|
83
83
|
add_reference(post, authorization, options)
|
|
84
84
|
commit('cancel', post, options)
|
|
85
85
|
end
|
|
86
86
|
|
|
87
|
-
def adjust(money, authorization, options={})
|
|
87
|
+
def adjust(money, authorization, options = {})
|
|
88
88
|
post = init_post(options)
|
|
89
89
|
add_invoice_for_modification(post, money, options)
|
|
90
90
|
add_reference(post, authorization, options)
|
|
@@ -92,7 +92,7 @@ module ActiveMerchant #:nodoc:
|
|
|
92
92
|
commit('adjustAuthorisation', post, options)
|
|
93
93
|
end
|
|
94
94
|
|
|
95
|
-
def store(credit_card, options={})
|
|
95
|
+
def store(credit_card, options = {})
|
|
96
96
|
requires!(options, :order_id)
|
|
97
97
|
post = init_post(options)
|
|
98
98
|
add_invoice(post, 0, options)
|
|
@@ -115,7 +115,7 @@ module ActiveMerchant #:nodoc:
|
|
|
115
115
|
end
|
|
116
116
|
end
|
|
117
117
|
|
|
118
|
-
def unstore(options={})
|
|
118
|
+
def unstore(options = {})
|
|
119
119
|
requires!(options, :shopper_reference, :recurring_detail_reference)
|
|
120
120
|
post = {}
|
|
121
121
|
|
|
@@ -126,7 +126,7 @@ module ActiveMerchant #:nodoc:
|
|
|
126
126
|
commit('disable', post, options)
|
|
127
127
|
end
|
|
128
128
|
|
|
129
|
-
def verify(credit_card, options={})
|
|
129
|
+
def verify(credit_card, options = {})
|
|
130
130
|
MultiResponse.run(:use_first_response) do |r|
|
|
131
131
|
r.process { authorize(0, credit_card, options) }
|
|
132
132
|
options[:idempotency_key] = nil
|
|
@@ -214,6 +214,7 @@ module ActiveMerchant #:nodoc:
|
|
|
214
214
|
add_shopper_data(post, options)
|
|
215
215
|
add_risk_data(post, options)
|
|
216
216
|
add_shopper_reference(post, options)
|
|
217
|
+
add_merchant_data(post, options)
|
|
217
218
|
end
|
|
218
219
|
|
|
219
220
|
def add_shopper_data(post, options)
|
|
@@ -225,6 +226,19 @@ module ActiveMerchant #:nodoc:
|
|
|
225
226
|
post[:additionalData][:updateShopperStatement] = options[:update_shopper_statement] if options[:update_shopper_statement]
|
|
226
227
|
end
|
|
227
228
|
|
|
229
|
+
def add_merchant_data(post, options)
|
|
230
|
+
post[:additionalData][:subMerchantId] = options[:sub_merchant_id] if options[:sub_merchant_id]
|
|
231
|
+
post[:additionalData][:subMerchantName] = options[:sub_merchant_name] if options[:sub_merchant_name]
|
|
232
|
+
post[:additionalData][:subMerchantStreet] = options[:sub_merchant_street] if options[:sub_merchant_street]
|
|
233
|
+
post[:additionalData][:subMerchantCity] = options[:sub_merchant_city] if options[:sub_merchant_city]
|
|
234
|
+
post[:additionalData][:subMerchantState] = options[:sub_merchant_state] if options[:sub_merchant_state]
|
|
235
|
+
post[:additionalData][:subMerchantPostalCode] = options[:sub_merchant_postal_code] if options[:sub_merchant_postal_code]
|
|
236
|
+
post[:additionalData][:subMerchantCountry] = options[:sub_merchant_country] if options[:sub_merchant_country]
|
|
237
|
+
post[:additionalData][:subMerchantTaxId] = options[:sub_merchant_tax_id] if options[:sub_merchant_tax_id]
|
|
238
|
+
post[:additionalData][:subMerchantId] = options[:sub_merchant_id] if options[:sub_merchant_id]
|
|
239
|
+
post[:additionalData][:subMerchantMCC] = options[:sub_merchant_mcc] if options[:sub_merchant_mcc]
|
|
240
|
+
end
|
|
241
|
+
|
|
228
242
|
def add_risk_data(post, options)
|
|
229
243
|
if (risk_data = options[:risk_data])
|
|
230
244
|
risk_data = Hash[risk_data.map { |k, v| ["riskdata.#{k}", v] }]
|
|
@@ -238,7 +252,7 @@ module ActiveMerchant #:nodoc:
|
|
|
238
252
|
splits = []
|
|
239
253
|
split_data.each do |split|
|
|
240
254
|
amount = {
|
|
241
|
-
value: split['amount']['value']
|
|
255
|
+
value: split['amount']['value']
|
|
242
256
|
}
|
|
243
257
|
amount[:currency] = split['amount']['currency'] if split['amount']['currency']
|
|
244
258
|
|
|
@@ -266,7 +280,7 @@ module ActiveMerchant #:nodoc:
|
|
|
266
280
|
post[:shopperReference] = options[:shopper_reference] if options[:shopper_reference]
|
|
267
281
|
end
|
|
268
282
|
|
|
269
|
-
def add_shopper_interaction(post, payment, options={})
|
|
283
|
+
def add_shopper_interaction(post, payment, options = {})
|
|
270
284
|
if (options.dig(:stored_credential, :initial_transaction) && options.dig(:stored_credential, :initiator) == 'cardholder') ||
|
|
271
285
|
(payment.respond_to?(:verification_value) && payment.verification_value && options.dig(:stored_credential, :initial_transaction).nil?) ||
|
|
272
286
|
payment.is_a?(NetworkTokenizationCreditCard)
|
|
@@ -359,7 +373,7 @@ module ActiveMerchant #:nodoc:
|
|
|
359
373
|
cvc: credit_card.verification_value
|
|
360
374
|
}
|
|
361
375
|
|
|
362
|
-
card.delete_if { |
|
|
376
|
+
card.delete_if { |_k, v| v.blank? }
|
|
363
377
|
card[:holderName] ||= 'Not Provided' if credit_card.is_a?(NetworkTokenizationCreditCard)
|
|
364
378
|
requires!(card, :expiryMonth, :expiryYear, :holderName, :number)
|
|
365
379
|
post[:card] = card
|
|
@@ -427,7 +441,8 @@ module ActiveMerchant #:nodoc:
|
|
|
427
441
|
return unless !options[:execute_threed].nil? || !options[:threed_dynamic].nil?
|
|
428
442
|
|
|
429
443
|
post[:browserInfo] = { userAgent: options[:user_agent], acceptHeader: options[:accept_header] } if options[:execute_threed] || options[:threed_dynamic]
|
|
430
|
-
post[:additionalData]
|
|
444
|
+
post[:additionalData] ||= {}
|
|
445
|
+
post[:additionalData][:executeThreeD] = options[:execute_threed] if !options[:execute_threed].nil?
|
|
431
446
|
end
|
|
432
447
|
end
|
|
433
448
|
|
|
@@ -12,12 +12,12 @@ module ActiveMerchant #:nodoc:
|
|
|
12
12
|
self.supported_cardtypes = %i[visa master american_express discover
|
|
13
13
|
diners_club jcb maestro]
|
|
14
14
|
|
|
15
|
-
def initialize(options={})
|
|
15
|
+
def initialize(options = {})
|
|
16
16
|
requires!(options, :site_id, :merchant_id, :token)
|
|
17
17
|
super
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
def purchase(amount, payment_method, options={})
|
|
20
|
+
def purchase(amount, payment_method, options = {})
|
|
21
21
|
post = {}
|
|
22
22
|
add_invoice(post, amount, options)
|
|
23
23
|
add_payment_method(post, payment_method)
|
|
@@ -26,7 +26,7 @@ module ActiveMerchant #:nodoc:
|
|
|
26
26
|
commit(:purchase, post)
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
def authorize(amount, payment_method, options={})
|
|
29
|
+
def authorize(amount, payment_method, options = {})
|
|
30
30
|
post = {}
|
|
31
31
|
add_invoice(post, amount, options)
|
|
32
32
|
add_payment_method(post, payment_method)
|
|
@@ -35,7 +35,7 @@ module ActiveMerchant #:nodoc:
|
|
|
35
35
|
commit(:authorize, post)
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
def capture(amount, authorization, options={})
|
|
38
|
+
def capture(amount, authorization, options = {})
|
|
39
39
|
post = {}
|
|
40
40
|
add_invoice(post, amount, options)
|
|
41
41
|
add_reference(post, authorization, :capture)
|
|
@@ -44,14 +44,14 @@ module ActiveMerchant #:nodoc:
|
|
|
44
44
|
commit(:capture, post)
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
-
def void(authorization, options={})
|
|
47
|
+
def void(authorization, options = {})
|
|
48
48
|
post = {}
|
|
49
49
|
add_reference(post, authorization, :void)
|
|
50
50
|
|
|
51
51
|
commit(:void, post)
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
-
def refund(amount, authorization, options={})
|
|
54
|
+
def refund(amount, authorization, options = {})
|
|
55
55
|
post = {}
|
|
56
56
|
add_invoice(post, amount, options)
|
|
57
57
|
add_reference(post, authorization, :refund)
|
|
@@ -61,7 +61,7 @@ module ActiveMerchant #:nodoc:
|
|
|
61
61
|
commit(:refund, post)
|
|
62
62
|
end
|
|
63
63
|
|
|
64
|
-
def verify(credit_card, options={})
|
|
64
|
+
def verify(credit_card, options = {})
|
|
65
65
|
MultiResponse.run(:use_first_response) do |r|
|
|
66
66
|
r.process { authorize(100, credit_card, options) }
|
|
67
67
|
r.process(:ignore_result) { void(r.authorization, options) }
|
|
@@ -54,7 +54,7 @@ module ActiveMerchant
|
|
|
54
54
|
'37' => STANDARD_ERROR_CODE[:invalid_expiry_date],
|
|
55
55
|
'378' => STANDARD_ERROR_CODE[:invalid_cvc],
|
|
56
56
|
'38' => STANDARD_ERROR_CODE[:expired_card],
|
|
57
|
-
'384' => STANDARD_ERROR_CODE[:config_error]
|
|
57
|
+
'384' => STANDARD_ERROR_CODE[:config_error]
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
MARKET_TYPE = {
|
|
@@ -94,7 +94,7 @@ module ActiveMerchant
|
|
|
94
94
|
PAYMENT_METHOD_NOT_SUPPORTED_ERROR = '155'
|
|
95
95
|
INELIGIBLE_FOR_ISSUING_CREDIT_ERROR = '54'
|
|
96
96
|
|
|
97
|
-
def initialize(options={})
|
|
97
|
+
def initialize(options = {})
|
|
98
98
|
requires!(options, :login, :password)
|
|
99
99
|
super
|
|
100
100
|
end
|
|
@@ -111,7 +111,7 @@ module ActiveMerchant
|
|
|
111
111
|
end
|
|
112
112
|
end
|
|
113
113
|
|
|
114
|
-
def authorize(amount, payment, options={})
|
|
114
|
+
def authorize(amount, payment, options = {})
|
|
115
115
|
if payment.is_a?(String)
|
|
116
116
|
commit(:cim_authorize, options) do |xml|
|
|
117
117
|
add_cim_auth_purchase(xml, 'profileTransAuthOnly', amount, payment, options)
|
|
@@ -123,7 +123,7 @@ module ActiveMerchant
|
|
|
123
123
|
end
|
|
124
124
|
end
|
|
125
125
|
|
|
126
|
-
def capture(amount, authorization, options={})
|
|
126
|
+
def capture(amount, authorization, options = {})
|
|
127
127
|
if auth_was_for_cim?(authorization)
|
|
128
128
|
cim_capture(amount, authorization, options)
|
|
129
129
|
else
|
|
@@ -131,7 +131,7 @@ module ActiveMerchant
|
|
|
131
131
|
end
|
|
132
132
|
end
|
|
133
133
|
|
|
134
|
-
def refund(amount, authorization, options={})
|
|
134
|
+
def refund(amount, authorization, options = {})
|
|
135
135
|
response =
|
|
136
136
|
if auth_was_for_cim?(authorization)
|
|
137
137
|
cim_refund(amount, authorization, options)
|
|
@@ -149,7 +149,7 @@ module ActiveMerchant
|
|
|
149
149
|
end
|
|
150
150
|
end
|
|
151
151
|
|
|
152
|
-
def void(authorization, options={})
|
|
152
|
+
def void(authorization, options = {})
|
|
153
153
|
if auth_was_for_cim?(authorization)
|
|
154
154
|
cim_void(authorization, options)
|
|
155
155
|
else
|
|
@@ -157,7 +157,7 @@ module ActiveMerchant
|
|
|
157
157
|
end
|
|
158
158
|
end
|
|
159
159
|
|
|
160
|
-
def credit(amount, payment, options={})
|
|
160
|
+
def credit(amount, payment, options = {})
|
|
161
161
|
raise ArgumentError, 'Reference credits are not supported. Please supply the original credit card or use the #refund method.' if payment.is_a?(String)
|
|
162
162
|
|
|
163
163
|
commit(:credit) do |xml|
|
|
@@ -568,9 +568,11 @@ module ActiveMerchant
|
|
|
568
568
|
xml.cardholderAuthentication do
|
|
569
569
|
three_d_secure = options.fetch(:three_d_secure, {})
|
|
570
570
|
xml.authenticationIndicator(
|
|
571
|
-
options[:authentication_indicator] || three_d_secure[:eci]
|
|
571
|
+
options[:authentication_indicator] || three_d_secure[:eci]
|
|
572
|
+
)
|
|
572
573
|
xml.cardholderAuthenticationValue(
|
|
573
|
-
options[:cardholder_authentication_value] || three_d_secure[:cavv]
|
|
574
|
+
options[:cardholder_authentication_value] || three_d_secure[:cavv]
|
|
575
|
+
)
|
|
574
576
|
end
|
|
575
577
|
end
|
|
576
578
|
|
|
@@ -595,7 +597,7 @@ module ActiveMerchant
|
|
|
595
597
|
end
|
|
596
598
|
end
|
|
597
599
|
|
|
598
|
-
def add_shipping_address(xml, options, root_node='shipTo')
|
|
600
|
+
def add_shipping_address(xml, options, root_node = 'shipTo')
|
|
599
601
|
address = options[:shipping_address] || options[:address]
|
|
600
602
|
return unless address
|
|
601
603
|
|
|
@@ -619,7 +621,7 @@ module ActiveMerchant
|
|
|
619
621
|
end
|
|
620
622
|
end
|
|
621
623
|
|
|
622
|
-
def add_ship_from_address(xml, options, root_node='shipFrom')
|
|
624
|
+
def add_ship_from_address(xml, options, root_node = 'shipFrom')
|
|
623
625
|
address = options[:ship_from_address]
|
|
624
626
|
return unless address
|
|
625
627
|
|
|
@@ -771,7 +773,7 @@ module ActiveMerchant
|
|
|
771
773
|
end
|
|
772
774
|
|
|
773
775
|
def parse(action, raw_response, options = {})
|
|
774
|
-
if
|
|
776
|
+
if cim_action?(action) || action == :verify_credentials
|
|
775
777
|
parse_cim(raw_response, options)
|
|
776
778
|
else
|
|
777
779
|
parse_normal(action, raw_response)
|
|
@@ -802,7 +804,7 @@ module ActiveMerchant
|
|
|
802
804
|
end
|
|
803
805
|
end
|
|
804
806
|
|
|
805
|
-
def
|
|
807
|
+
def cim_action?(action)
|
|
806
808
|
action.to_s.start_with?('cim')
|
|
807
809
|
end
|
|
808
810
|
|
|
@@ -824,7 +826,7 @@ module ActiveMerchant
|
|
|
824
826
|
'deleteCustomerProfileRequest'
|
|
825
827
|
elsif action == :verify_credentials
|
|
826
828
|
'authenticateTestRequest'
|
|
827
|
-
elsif
|
|
829
|
+
elsif cim_action?(action)
|
|
828
830
|
'createCustomerProfileTransactionRequest'
|
|
829
831
|
else
|
|
830
832
|
'createTransactionRequest'
|
|
@@ -842,7 +844,7 @@ module ActiveMerchant
|
|
|
842
844
|
doc = Nokogiri::XML(body)
|
|
843
845
|
doc.remove_namespaces!
|
|
844
846
|
|
|
845
|
-
response = {action: action}
|
|
847
|
+
response = { action: action }
|
|
846
848
|
|
|
847
849
|
response[:response_code] = if (element = doc.at_xpath('//transactionResponse/responseCode'))
|
|
848
850
|
empty?(element.content) ? nil : element.content.to_i
|
|
@@ -1006,7 +1008,7 @@ module ActiveMerchant
|
|
|
1006
1008
|
|
|
1007
1009
|
def auth_was_for_cim?(authorization)
|
|
1008
1010
|
_, _, action = split_authorization(authorization)
|
|
1009
|
-
action &&
|
|
1011
|
+
action && cim_action?(action)
|
|
1010
1012
|
end
|
|
1011
1013
|
|
|
1012
1014
|
def parse_direct_response_elements(response, options)
|
|
@@ -1059,7 +1061,7 @@ module ActiveMerchant
|
|
|
1059
1061
|
card_type: parts[51] || '',
|
|
1060
1062
|
split_tender_id: parts[52] || '',
|
|
1061
1063
|
requested_amount: parts[53] || '',
|
|
1062
|
-
balance_on_card: parts[54] || ''
|
|
1064
|
+
balance_on_card: parts[54] || ''
|
|
1063
1065
|
}
|
|
1064
1066
|
end
|
|
1065
1067
|
end
|