diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index daec67cc1..d425a7b0d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -7,4 +7,7 @@ Describe the changes proposed in this pull request: - What existing problem does this pull request solve? --> +## Tested scenarios + + **Fixed issue**: \ No newline at end of file diff --git a/src/cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGenericComponent.js b/src/cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGenericComponent.js index 2aeb0fa34..d3e1005b4 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGenericComponent.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderGenericComponent.js @@ -114,21 +114,21 @@ function renderStoredPaymentMethod(imagePath) { } function renderStoredPaymentMethods(data, imagePath) { - if (data.storedPaymentMethods) { - const { storedPaymentMethods } = data; - storedPaymentMethods.forEach(renderStoredPaymentMethod(imagePath)); + if (data.length) { + data.forEach(renderStoredPaymentMethod(imagePath)); } } -function renderPaymentMethods(paymentMethods, imagePath, adyenDescriptions) { - const promises = []; +async function renderPaymentMethods( + paymentMethods, + imagePath, + adyenDescriptions, +) { for (let i = 0; i < paymentMethods.length; i += 1) { const pm = paymentMethods[i]; - promises.push( - renderPaymentMethod(pm, false, imagePath, adyenDescriptions[pm.type]), - ); + // eslint-disable-next-line + await renderPaymentMethod(pm, false, imagePath, adyenDescriptions[pm.type]); } - return Promise.all(promises); } function renderPosTerminals(adyenConnectedTerminals) { @@ -246,7 +246,15 @@ async function initializeCheckout() { (pm) => pm.type !== constants.GIFTCARD, ); - renderStoredPaymentMethods(paymentMethodsWithoutGiftCards, session.imagePath); + const storedPaymentMethodsWithoutGiftCards = + store.checkout.paymentMethodsResponse.storedPaymentMethods.filter( + (pm) => pm.type !== constants.GIFTCARD, + ); + + renderStoredPaymentMethods( + storedPaymentMethodsWithoutGiftCards, + session.imagePath, + ); await renderPaymentMethods( paymentMethodsWithoutGiftCards, diff --git a/src/cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js b/src/cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js index 05cc8bc42..b0a75d951 100644 --- a/src/cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js +++ b/src/cartridges/int_adyen_SFRA/cartridge/client/default/js/adyen_checkout/renderPaymentMethod.js @@ -171,6 +171,7 @@ module.exports.renderPaymentMethod = async function renderPaymentMethod( description = null, rerender = false, ) { + let canRender; try { const paymentMethodsUI = document.querySelector('#paymentMethodsList'); @@ -215,7 +216,11 @@ module.exports.renderPaymentMethod = async function renderPaymentMethod( handleInput(options); setValid(options); + canRender = true; } catch (err) { // method not available + canRender = false; } + // eslint-disable-next-line + return canRender; };