From 2e8b06ff2825bba5785c675112dacdffbd384439 Mon Sep 17 00:00:00 2001 From: Aleksandar Mihajlovski Date: Tue, 6 Aug 2024 13:17:34 +0200 Subject: [PATCH 01/11] Compliance with the new Visa Secure Authentication requirements (#1133) * feat: provide new fields needed for visa * fix: unit tests * fix: don't block holder name for stored cards * chore: no need for if condition the function returns null if IP not present --- .../js/adyen_checkout/checkoutConfiguration.js | 18 +++++++++++------- .../adyen_checkout/renderGiftcardComponent.js | 5 ++--- .../payments/__tests__/adyenCheckout.test.js | 3 +++ .../adyen/scripts/payments/adyenCheckout.js | 1 + .../adyen/scripts/payments/adyenZeroAuth.js | 2 ++ .../cartridge/adyen/utils/adyenHelper.js | 14 ++++++-------- 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js index 91865dbc1..1038e11b9 100644 --- a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js +++ b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js @@ -14,6 +14,8 @@ const { function getCardConfig() { return { + hasHolderName: true, + holderNameRequired: true, enableStoreDetails: window.showStoreDetails, showBrandsUnderCardNumber: false, clickToPayConfiguration: { @@ -187,9 +189,8 @@ function getGiftCardConfig() { async: false, success: (data) => { giftcardBalance = data.balance; - document.querySelector( - 'button[value="submit-payment"]', - ).disabled = false; + document.querySelector('button[value="submit-payment"]').disabled = + false; if (data.resultCode === constants.SUCCESS) { const { giftCardsInfoMessageContainer, @@ -215,9 +216,8 @@ function getGiftCardConfig() { initialPartialObject.totalDiscountedAmount; }); - document.querySelector( - 'button[value="submit-payment"]', - ).disabled = true; + document.querySelector('button[value="submit-payment"]').disabled = + true; giftCardsInfoMessageContainer.innerHTML = ''; giftCardsInfoMessageContainer.classList.remove( 'gift-cards-info-message-container', @@ -388,7 +388,11 @@ function setCheckoutConfiguration() { store.checkoutConfiguration.paymentMethodsConfiguration = { card: getCardConfig(), bcmc: getCardConfig(), - storedCard: getCardConfig(), + storedCard: { + ...getCardConfig(), + hasHolderName: false, + holderNameRequired: false, + }, boletobancario: { personalDetailsRequired: true, // turn personalDetails section on/off billingAddressRequired: false, // turn billingAddress section on/off diff --git a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGiftcardComponent.js b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGiftcardComponent.js index ed41bb58e..2f4401f6c 100644 --- a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGiftcardComponent.js +++ b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGiftcardComponent.js @@ -96,9 +96,8 @@ function removeGiftCards() { giftCardsInfoMessageContainer.classList.remove( 'gift-cards-info-message-container', ); - document.querySelector( - 'button[value="submit-payment"]', - ).disabled = false; + document.querySelector('button[value="submit-payment"]').disabled = + false; if (res.resultCode === constants.RECEIVED) { document diff --git a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/__tests__/adyenCheckout.test.js b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/__tests__/adyenCheckout.test.js index e879d11a4..773b69826 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/__tests__/adyenCheckout.test.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/__tests__/adyenCheckout.test.js @@ -10,6 +10,7 @@ describe('AdyenCheckout', () => { setExportStatus: jest.fn(), getOrderNo: jest.fn(), getOrderToken: jest.fn(), + getCustomerEmail: jest.fn(), }, PaymentInstrument: { custom: { @@ -43,6 +44,7 @@ describe('AdyenCheckout', () => { setExportStatus: jest.fn(), getOrderNo: jest.fn(), getOrderToken: jest.fn(), + getCustomerEmail: jest.fn(), }, PaymentInstrument: { custom: { @@ -76,6 +78,7 @@ describe('AdyenCheckout', () => { setExportStatus: jest.fn(), getOrderNo: jest.fn(), getOrderToken: jest.fn(), + getCustomerEmail: jest.fn(), }, PaymentInstrument: { custom: { diff --git a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenCheckout.js b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenCheckout.js index ac2763f83..760110462 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenCheckout.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenCheckout.js @@ -146,6 +146,7 @@ function createPaymentRequest(args) { order.getOrderNo(), order.getOrderToken(), paymentInstrument, + order.getCustomerEmail(), ); const paymentMethodType = paymentRequest.paymentMethod.type; diff --git a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenZeroAuth.js b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenZeroAuth.js index e1d101361..9a508eb11 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenZeroAuth.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenZeroAuth.js @@ -34,6 +34,7 @@ function zeroAuthPayment(customer, paymentInstrument) { 'recurringPayment-account', 'recurringPayment-token', paymentInstrument, + customer.getProfile().email, ); zeroAuthRequest = AdyenHelper.add3DS2Data(zeroAuthRequest); @@ -52,6 +53,7 @@ function zeroAuthPayment(customer, paymentInstrument) { constants.RECURRING_PROCESSING_MODEL.CARD_ON_FILE; zeroAuthRequest.shopperReference = customer.getProfile().getCustomerNo(); zeroAuthRequest.shopperEmail = customer.getProfile().getEmail(); + zeroAuthRequest.shopperIP = request.getHttpRemoteAddress(); return adyenCheckout.doPaymentsCall( null, diff --git a/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js b/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js index 844b7fc23..9c0172f82 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js @@ -453,17 +453,12 @@ let adyenHelperObj = { args.paymentRequest.shopperReference = args.order.getCustomerNo(); } - const shopperIP = request.getHttpRemoteAddress() - ? request.getHttpRemoteAddress() - : null; - if (shopperIP) { - args.paymentRequest.shopperIP = shopperIP; - } - if (request.getLocale()) { args.paymentRequest.shopperLocale = request.getLocale(); } + args.paymentRequest.shopperIP = request.getHttpRemoteAddress(); + return args.paymentRequest; }, @@ -535,7 +530,7 @@ let adyenHelperObj = { }, // creates a request object to send to the Adyen Checkout API - createAdyenRequestObject(orderNo, orderToken, paymentInstrument) { + createAdyenRequestObject(orderNo, orderToken, paymentInstrument, customerEmail) { const jsonObject = JSON.parse(paymentInstrument.custom.adyenPaymentData); const filteredJson = adyenHelperObj.validateStateData(jsonObject); @@ -549,6 +544,9 @@ let adyenHelperObj = { if (stateData.paymentMethod?.storedPaymentMethodId) { stateData.recurringProcessingModel = constants.RECURRING_PROCESSING_MODEL.CARD_ON_FILE; stateData.shopperInteraction = constants.SHOPPER_INTERACTIONS.CONT_AUTH; + if (customerEmail) { + stateData.shopperEmail = customerEmail; + } } else { stateData.shopperInteraction = constants.SHOPPER_INTERACTIONS.ECOMMERCE; } From 5ee0f6830abc117691b8f316b8ce68f6b9e41946 Mon Sep 17 00:00:00 2001 From: Aleksandar Mihajlovski Date: Fri, 9 Aug 2024 11:13:48 +0200 Subject: [PATCH 02/11] Include holder name in state data (#1135) --- .../__tests__/checkoutConfiguration.test.js | 2 +- .../js/adyen_checkout/checkoutConfiguration.js | 15 ++++++++++++--- .../playwright/fixtures/countriesEUR/FR.spec.mjs | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/__tests__/checkoutConfiguration.test.js b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/__tests__/checkoutConfiguration.test.js index d88f4fe43..0b766b384 100644 --- a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/__tests__/checkoutConfiguration.test.js +++ b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/__tests__/checkoutConfiguration.test.js @@ -47,7 +47,7 @@ describe('Checkout Configuration', () => { store.selectedMethod = 'scheme'; store.componentsObj = { scheme: {} }; const data = { paymentMethod: { type: 'scheme' } }; - card.onChange({ isValid: true, data }); + card.onChange({ isValid: true, data }, { props: { holderName: 'test' } }); expect(store.selectedPayment.isValid).toBeTruthy(); }); diff --git a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js index 1038e11b9..f1550c0b1 100644 --- a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js +++ b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/checkoutConfiguration.js @@ -23,13 +23,23 @@ function getCardConfig() { merchantDisplayName: window.merchantAccount, }, exposeExpiryDate: false, - onChange(state) { + onChange(state, component) { store.isValid = state.isValid; const method = state.data.paymentMethod.storedPaymentMethodId ? `storedCard${state.data.paymentMethod.storedPaymentMethodId}` : store.selectedMethod; store.updateSelectedPayment(method, 'isValid', store.isValid); - store.updateSelectedPayment(method, 'stateData', state.data); + if (state.data?.paymentMethod?.storedPaymentMethodId) { + const { holderName } = component.props; + const { paymentMethod } = state.data; + paymentMethod.holderName = holderName; + store.updateSelectedPayment(method, 'stateData', { + ...state.data, + paymentMethod, + }); + } else { + store.updateSelectedPayment(method, 'stateData', state.data); + } }, onSubmit: () => { helpers.assignPaymentMethodValue(); @@ -390,7 +400,6 @@ function setCheckoutConfiguration() { bcmc: getCardConfig(), storedCard: { ...getCardConfig(), - hasHolderName: false, holderNameRequired: false, }, boletobancario: { diff --git a/tests/playwright/fixtures/countriesEUR/FR.spec.mjs b/tests/playwright/fixtures/countriesEUR/FR.spec.mjs index 976c932ea..e5b97714c 100644 --- a/tests/playwright/fixtures/countriesEUR/FR.spec.mjs +++ b/tests/playwright/fixtures/countriesEUR/FR.spec.mjs @@ -81,7 +81,7 @@ test.describe.parallel(`${environment.name} EUR FR`, () => { await checkoutPage.expectSuccess(); }); - test('Amazon Pay Express @quick', async ({ page }) => { + test.skip('Amazon Pay Express @quick', async ({ page }) => { redirectShopper = new RedirectShopper(page); await checkoutPage.addProductToCart(); await checkoutPage.navigateToCart(regionsEnum.EU); From 1f2d40e22db34cb6817c97067b6dd9ebd6ec94d4 Mon Sep 17 00:00:00 2001 From: Shani <31096696+shanikantsingh@users.noreply.github.com> Date: Fri, 9 Aug 2024 13:46:42 +0200 Subject: [PATCH 03/11] Tax calculation for paypal express (#1134) * fix(SFI-860): tax calculation for paypal express * chore(SFI-860): remove unused variables --- jest/__mocks__/dw/order/BasketMgr.js | 6 ++++++ .../paypal/makeExpressPaymentsCall.js | 2 +- .../expressPayments/shippingMethods.js | 5 ++++- .../utils/__tests__/paypalHelper.test.js | 10 ++++++--- .../cartridge/adyen/utils/adyenHelper.js | 14 ------------- .../cartridge/adyen/utils/paypalHelper.js | 21 +++++++++---------- 6 files changed, 28 insertions(+), 30 deletions(-) diff --git a/jest/__mocks__/dw/order/BasketMgr.js b/jest/__mocks__/dw/order/BasketMgr.js index c7164fd42..0e26f6fa0 100644 --- a/jest/__mocks__/dw/order/BasketMgr.js +++ b/jest/__mocks__/dw/order/BasketMgr.js @@ -41,6 +41,11 @@ export const getAdjustedMerchandizeTotalGrossPrice = jest.fn(() => ({ isAvailable, })); +export const getAdjustedMerchandizeTotalNetPrice = jest.fn(() => ({ + currencyCode: 'EUR', + isAvailable, +})); + export const getCreditCardToken = jest.fn(() => 'mockedCreditCardToken'); export const getPaymentMethod = jest.fn(() => 'mockedPaymentMethod'); @@ -132,6 +137,7 @@ export const getCurrentBasket = jest.fn(() => ({ getAllProductLineItems, getTotalGrossPrice, getAdjustedMerchandizeTotalGrossPrice, + getAdjustedMerchandizeTotalNetPrice, getPaymentInstruments, removeAllPaymentInstruments: jest.fn(), removePaymentInstrument: jest.fn(), diff --git a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/expressPayments/paypal/makeExpressPaymentsCall.js b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/expressPayments/paypal/makeExpressPaymentsCall.js index 8065c7996..e112ab9b4 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/expressPayments/paypal/makeExpressPaymentsCall.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/expressPayments/paypal/makeExpressPaymentsCall.js @@ -17,7 +17,7 @@ function makeExpressPaymentsCall(req, res, next) { currentBasket.removeAllPaymentInstruments(); paymentInstrument = currentBasket.createPaymentInstrument( constants.METHOD_ADYEN_COMPONENT, - currentBasket.getAdjustedMerchandizeTotalGrossPrice(), + currentBasket.getAdjustedMerchandizeTotalNetPrice(), ); const { paymentProcessor } = PaymentMgr.getPaymentMethod( paymentInstrument.paymentMethod, diff --git a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/expressPayments/shippingMethods.js b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/expressPayments/shippingMethods.js index 186928bbf..55ed5ff4e 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/expressPayments/shippingMethods.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/expressPayments/shippingMethods.js @@ -2,6 +2,7 @@ const BasketMgr = require('dw/order/BasketMgr'); const Transaction = require('dw/system/Transaction'); const Resource = require('dw/web/Resource'); const URLUtils = require('dw/web/URLUtils'); +const basketCalculationHelpers = require('*/cartridge/scripts/helpers/basketCalculationHelpers'); const AdyenLogs = require('*/cartridge/adyen/logs/adyenCustomLogs'); const AdyenHelper = require('*/cartridge/adyen/utils/adyenHelper'); const { PAYMENTMETHODS } = require('*/cartridge/adyen/config/constants'); @@ -42,7 +43,9 @@ function callGetShippingMethods(req, res, next) { return next(); } updateShippingAddress(currentBasket, address); - currentBasket.updateTotals(); + Transaction.wrap(() => { + basketCalculationHelpers.calculateTotals(currentBasket); + }); const currentShippingMethodsModels = AdyenHelper.getApplicableShippingMethods( currentBasket.getDefaultShipment(), diff --git a/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/__tests__/paypalHelper.test.js b/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/__tests__/paypalHelper.test.js index e64d03a1f..55c8232cc 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/__tests__/paypalHelper.test.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/__tests__/paypalHelper.test.js @@ -87,8 +87,6 @@ describe('paypalHelper', () => { }] currentBasket = { currencyCode: 'USD', - getAdjustedShippingTotalGrossPrice: jest.fn(), - getAdjustedMerchandizeTotalGrossPrice: jest.fn(), } result = { @@ -96,7 +94,13 @@ describe('paypalHelper', () => { paymentData: 'test', amount: { currency: 'USD', - value: 2000 + value: 1000 + }, + taxTotal: { + amount: { + currency: 'USD', + value: 1000 + } }, deliveryMethods:[{ reference: '001', diff --git a/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js b/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js index 9c0172f82..7900603f1 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js @@ -86,7 +86,6 @@ let adyenHelperObj = { * @returns {{currencyCode: String, value: String}} - Shipping Cost including taxes */ getShippingCost(shippingMethod, shipment) { - const { shippingAddress } = shipment const shipmentShippingModel = ShippingMgr.getShipmentShippingModel(shipment); let shippingCost = shipmentShippingModel.getShippingCost(shippingMethod).getAmount(); collections.forEach(shipment.getProductLineItems(), (lineItem) => { @@ -98,25 +97,12 @@ let adyenHelperObj = { : new Money(0, product.getPriceModel().getPrice().getCurrencyCode()); shippingCost = shippingCost.add(productShippingCost); }) - shippingCost = shippingAddress ? shippingCost.addRate(adyenHelperObj.getShippingTaxRate(shippingMethod, shippingAddress)) : shippingCost; return { value: shippingCost.getValue(), currencyCode: shippingCost.getCurrencyCode(), }; }, - /** - * Returns tax rate for specific Shipment / ShippingMethod pair. - * @param {dw.order.ShippingMethod} shippingMethod - the default shipment of the current basket - * @param {dw.order.shippingAddress} shippingAddress - shippingAddress for the default shipment - * @returns {Number} - tax rate in decimals.(eg.: 0.02 for 2%) - */ - getShippingTaxRate(shippingMethod, shippingAddress) { - const taxClassID = shippingMethod.getTaxClassID(); - const taxJurisdictionID = TaxMgr.getTaxJurisdictionID(new ShippingLocation(shippingAddress)); - return TaxMgr.getTaxRate(taxClassID, taxJurisdictionID); - }, - /** * Returns applicable shipping methods for specific Shipment / ShippingAddress pair. * @param {dw.order.OrderAddress} address - the shipping address of the default shipment of the current basket diff --git a/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/paypalHelper.js b/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/paypalHelper.js index bd912dab8..508e5a75e 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/paypalHelper.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/paypalHelper.js @@ -76,7 +76,7 @@ function getLineItems({ Order: order, Basket: basket }) { * Returns applicable shipping methods(excluding store pickup methods) * for specific Shipment / ShippingAddress pair. * @param {String} pspReference - the pspReference returned from adyen /payments endpoint - * @param {dw.order.basket} amount - a shipment of the current basket + * @param {dw.order.basket} currentBasket - a shipment of the current basket * @param {dw.util.ArrayList} currentShippingMethods * - a shipment of the current basket * @param {String} paymentData - encrypted payment data from paypal component @@ -88,18 +88,14 @@ function createPaypalUpdateOrderRequest( currentShippingMethods, paymentData, ) { - const adjustedShippingTotalGrossPrice = { + const totalGrossPrice = { currency: currentBasket.currencyCode, - value: AdyenHelper.getCurrencyValueForApi( - currentBasket.getAdjustedShippingTotalGrossPrice(), - ).value, + value: AdyenHelper.getCurrencyValueForApi(currentBasket.totalGrossPrice) + .value, }; - const adjustedMerchandizeTotalGrossPrice = { + const totalTax = { currency: currentBasket.currencyCode, - value: - AdyenHelper.getCurrencyValueForApi( - currentBasket.getAdjustedMerchandizeTotalGrossPrice(), - ).value + adjustedShippingTotalGrossPrice.value, + value: AdyenHelper.getCurrencyValueForApi(currentBasket.totalTax).value, }; const deliveryMethods = currentShippingMethods.map((shippingMethod) => { const { currencyCode, value } = shippingMethod.shippingCost; @@ -119,7 +115,10 @@ function createPaypalUpdateOrderRequest( return { pspReference, paymentData, - amount: adjustedMerchandizeTotalGrossPrice, + amount: totalGrossPrice, + taxTotal: { + amount: totalTax, + }, deliveryMethods, }; } From 6447a6f628b02218f6c050bfb2bc06d83838f39d Mon Sep 17 00:00:00 2001 From: Zenit Shkreli <69572953+zenit2001@users.noreply.github.com> Date: Mon, 12 Aug 2024 10:13:17 +0200 Subject: [PATCH 04/11] Remove conditional cardholdername logic (#1137) * fix: removing conditional cardholder name logic and metadata as it is not required anymore * chore: updated the unit test --- .../meta/system-objecttype-extensions.xml | 8 -------- .../cartridge/client/default/js/adyenCheckout.js | 4 ---- .../checkout/billing/adyenComponentForm.isml | 1 - .../adyenSettings/settingCards/cardSettings.isml | 14 -------------- .../cartridge/adyen/utils/adyenConfigs.js | 4 ---- .../__tests__/__snapshots__/begin.test.js.snap | 2 -- .../controllers/middlewares/checkout/begin.js | 2 -- 7 files changed, 35 deletions(-) diff --git a/metadata/site_import/meta/system-objecttype-extensions.xml b/metadata/site_import/meta/system-objecttype-extensions.xml index 3d08ae711..c8614e6e1 100644 --- a/metadata/site_import/meta/system-objecttype-extensions.xml +++ b/metadata/site_import/meta/system-objecttype-extensions.xml @@ -407,13 +407,6 @@ false true - - Show input field for card holder name - boolean - false - false - true - Level 2/3 Data Authorisation Enabled boolean @@ -704,7 +697,6 @@ - diff --git a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyenCheckout.js b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyenCheckout.js index 7b867e691..d571b2101 100644 --- a/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyenCheckout.js +++ b/src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyenCheckout.js @@ -31,10 +31,6 @@ $('#dwfrm_billing').submit(function apiRequest(e) { }); setCheckoutConfiguration(); -if (window.cardholderNameBool !== 'null') { - store.checkoutConfiguration.paymentMethodsConfiguration.card.hasHolderName = true; - store.checkoutConfiguration.paymentMethodsConfiguration.card.holderNameRequired = true; -} if ( window.googleMerchantID !== 'null' && diff --git a/src/cartridges/app_adyen_SFRA/cartridge/templates/default/checkout/billing/adyenComponentForm.isml b/src/cartridges/app_adyen_SFRA/cartridge/templates/default/checkout/billing/adyenComponentForm.isml index 5a27ed48f..b0e84e55c 100644 --- a/src/cartridges/app_adyen_SFRA/cartridge/templates/default/checkout/billing/adyenComponentForm.isml +++ b/src/cartridges/app_adyen_SFRA/cartridge/templates/default/checkout/billing/adyenComponentForm.isml @@ -58,7 +58,6 @@