Skip to content

Commit

Permalink
Merge pull request #1275 from Adyen/release/25.2.0
Browse files Browse the repository at this point in the history
Release/25.2.0
  • Loading branch information
amihajlovski authored Feb 27, 2025
2 parents 4df9fce + b948ba5 commit b0777aa
Show file tree
Hide file tree
Showing 107 changed files with 1,659 additions and 808 deletions.
2 changes: 1 addition & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ src/cartridges/app_adyen_SFRA/cartridge/client/default/js/checkout/checkoutSFRA6
src/cartridges/int_adyen_SFRA/cartridge/controllers/middlewares/checkout_services/placeOrder.js
src/cartridges/int_adyen_SFRA/cartridge/adyen/webhooks
src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js
src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenTerminalApi.js
src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/pos/adyenTerminalApi.js

# Test files
*.test.js
Expand Down
2 changes: 1 addition & 1 deletion cartridges/app_adyen_SFRA/.project
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>app_adyen_SFRA</name>
<comment>v25.1.0</comment>
<comment>v25.2.0</comment>
<projects></projects>
<buildSpec>
<buildCommand>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,14 @@ function getKlarnaConfig() {
return {
showPayButton: true,
useKlarnaWidget: true,
onError: function onError(component) {
helpers.paymentFromComponent({
cancelTransaction: true,
merchantReference: document.querySelector('#merchantReference').value,
orderToken: document.querySelector('#orderToken').value
}, component);
document.querySelector('#showConfirmationForm').submit();
},
onSubmit: function onSubmit(state, component) {
helpers.assignPaymentMethodValue();
helpers.paymentFromComponent(state.data, component);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ var _require2 = require('./localesUsingInstallments'),
installmentLocales = _require2.installmentLocales;
var _require3 = require('../commons'),
getPaymentMethods = _require3.getPaymentMethods,
fetchGiftCards = _require3.fetchGiftCards;
fetchGiftCards = _require3.fetchGiftCards,
getConnectedTerminals = _require3.getConnectedTerminals;
var constants = require('../constants');
var _require4 = require('./renderGiftcardComponent'),
createElementsToShowRemainingGiftCardAmount = _require4.createElementsToShowRemainingGiftCardAmount,
Expand Down Expand Up @@ -162,18 +163,81 @@ function _renderPaymentMethods() {
return _renderPaymentMethods.apply(this, arguments);
}
function renderPosTerminals(adyenConnectedTerminals) {
var _adyenConnectedTermin;
var removeChilds = function removeChilds() {
var posTerminals = document.querySelector('#adyenPosTerminals');
while (posTerminals.firstChild) {
posTerminals.removeChild(posTerminals.firstChild);
}
};
if (adyenConnectedTerminals !== null && adyenConnectedTerminals !== void 0 && (_adyenConnectedTermin = adyenConnectedTerminals.uniqueTerminalIds) !== null && _adyenConnectedTermin !== void 0 && _adyenConnectedTermin.length) {
if (adyenConnectedTerminals) {
removeChilds();
addPosTerminals(adyenConnectedTerminals.uniqueTerminalIds);
addPosTerminals(adyenConnectedTerminals);
}
}
function addStores(_x4) {
return _addStores.apply(this, arguments);
}
function _addStores() {
_addStores = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(stores) {
var storeDropdown, placeholderOption, storeArray, storeDropdownContainer, existingDropdown;
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
storeDropdown = document.createElement('select');
storeDropdown.id = 'storeList';
placeholderOption = document.createElement('option');
placeholderOption.value = '';
placeholderOption.text = 'Select a store';
placeholderOption.disabled = true;
placeholderOption.selected = true;
storeDropdown.appendChild(placeholderOption);
storeArray = typeof stores === 'string' ? stores.split(',') : stores;
storeArray.forEach(function (terminalStore) {
var option = document.createElement('option');
option.value = terminalStore.trim();
option.text = terminalStore.trim();
storeDropdown.appendChild(option);
});
storeDropdownContainer = document.querySelector('#adyenPosStores');
existingDropdown = storeDropdownContainer.querySelector('#storeList');
if (existingDropdown) {
storeDropdownContainer.removeChild(existingDropdown);
}
storeDropdownContainer.append(storeDropdown);
storeDropdown.addEventListener('change', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
var terminalDropdownContainer, existingTerminalDropdown, data, parsedResponse, uniqueTerminalIds;
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
terminalDropdownContainer = document.querySelector('#adyenPosTerminals');
existingTerminalDropdown = terminalDropdownContainer.querySelector('#terminalList');
if (existingTerminalDropdown) {
terminalDropdownContainer.removeChild(existingTerminalDropdown); // Clear old terminal list
}
_context3.next = 5;
return getConnectedTerminals();
case 5:
data = _context3.sent;
parsedResponse = JSON.parse(data.response);
uniqueTerminalIds = parsedResponse.uniqueTerminalIds;
if (uniqueTerminalIds) {
renderPosTerminals(uniqueTerminalIds);
document.querySelector('button[value="submit-payment"]').disabled = false;
}
case 9:
case "end":
return _context3.stop();
}
}, _callee3);
})));
case 15:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return _addStores.apply(this, arguments);
}
function setAmazonPayConfig(adyenPaymentMethods) {
var amazonpay = adyenPaymentMethods.paymentMethods.find(function (paymentMethod) {
return paymentMethod.type === 'amazonpay';
Expand Down Expand Up @@ -239,27 +303,27 @@ function initializeCheckout() {
return _initializeCheckout.apply(this, arguments);
}
function _initializeCheckout() {
_initializeCheckout = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
_initializeCheckout = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
var paymentMethodsResponse, giftCardsData, totalDiscountedAmount, giftCards, lastGiftCard, paymentMethodsWithoutGiftCards, storedPaymentMethodsWithoutGiftCards, firstPaymentMethod;
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
_context3.next = 2;
_context5.next = 2;
return getPaymentMethods();
case 2:
paymentMethodsResponse = _context3.sent;
_context3.next = 5;
paymentMethodsResponse = _context5.sent;
_context5.next = 5;
return fetchGiftCards();
case 5:
giftCardsData = _context3.sent;
giftCardsData = _context5.sent;
setCheckoutConfiguration(paymentMethodsResponse);
store.checkoutConfiguration.paymentMethodsResponse = _objectSpread(_objectSpread({}, paymentMethodsResponse.AdyenPaymentMethods), {}, {
imagePath: paymentMethodsResponse.imagePath
});
_context3.next = 10;
_context5.next = 10;
return AdyenCheckout(store.checkoutConfiguration);
case 10:
store.checkout = _context3.sent;
store.checkout = _context5.sent;
setGiftCardContainerVisibility();
totalDiscountedAmount = giftCardsData.totalDiscountedAmount, giftCards = giftCardsData.giftCards;
if (giftCards !== null && giftCards !== void 0 && giftCards.length) {
Expand All @@ -281,22 +345,24 @@ function _initializeCheckout() {
if (window.adyenRecurringPaymentsEnabled) {
renderStoredPaymentMethods(storedPaymentMethodsWithoutGiftCards, paymentMethodsResponse.imagePath);
}
_context3.next = 22;
_context5.next = 22;
return renderPaymentMethods(paymentMethodsWithoutGiftCards, paymentMethodsResponse.imagePath, paymentMethodsResponse.adyenDescriptions);
case 22:
renderPosTerminals(paymentMethodsResponse.adyenConnectedTerminals);
renderGiftCardLogo(paymentMethodsResponse.imagePath);
firstPaymentMethod = document.querySelector('input[type=radio][name=brandCode]');
if (firstPaymentMethod) {
firstPaymentMethod.checked = true;
helpers.displaySelectedMethod(firstPaymentMethod.value);
}
if (window.activeTerminalApiStores) {
addStores(window.activeTerminalApiStores);
}
helpers.createShowConfirmationForm(window.ShowConfirmationPaymentFromComponent);
case 27:
case "end":
return _context3.stop();
return _context5.stop();
}
}, _callee3);
}, _callee5);
}));
return _initializeCheckout.apply(this, arguments);
}
Expand Down Expand Up @@ -346,19 +412,19 @@ function renderGenericComponent() {
return _renderGenericComponent.apply(this, arguments);
}
function _renderGenericComponent() {
_renderGenericComponent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
_renderGenericComponent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
var _store$addedGiftCards2;
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
if (!(Object.keys(store.componentsObj).length !== 0)) {
_context4.next = 3;
_context6.next = 3;
break;
}
_context4.next = 3;
_context6.next = 3;
return unmountComponents();
case 3:
_context4.next = 5;
_context6.next = 5;
return initializeCheckout();
case 5:
if ((_store$addedGiftCards2 = store.addedGiftCards) !== null && _store$addedGiftCards2 !== void 0 && _store$addedGiftCards2.length) {
Expand All @@ -367,9 +433,9 @@ function _renderGenericComponent() {
attachGiftCardAddButtonListener();
case 7:
case "end":
return _context4.stop();
return _context6.stop();
}
}, _callee4);
}, _callee6);
}));
return _renderGenericComponent.apply(this, arguments);
}
Expand All @@ -386,5 +452,6 @@ module.exports = {
renderGiftCardLogo: renderGiftCardLogo,
setGiftCardContainerVisibility: setGiftCardContainerVisibility,
applyGiftCards: applyGiftCards,
addStores: addStores,
INIT_CHECKOUT_EVENT: INIT_CHECKOUT_EVENT
};
Original file line number Diff line number Diff line change
Expand Up @@ -372,14 +372,15 @@ function _onShippingContactSelected() {
}));
return _onShippingContactSelected.apply(this, arguments);
}
function init(_x20) {
function init(_x20, _x21) {
return _init.apply(this, arguments);
}
function _init() {
_init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(paymentMethodsResponse) {
_init = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(paymentMethodsResponse, isExpressPdp) {
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
while (1) switch (_context12.prev = _context12.next) {
case 0:
window.isExpressPdp = isExpressPdp;
initializeCheckout(paymentMethodsResponse).then(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11() {
var _paymentMethodsRespon;
var applePayPaymentMethod, applePayConfig, applePayButtonConfig, cartContainer, applePayButton, isApplePayButtonAvailable, expressCheckoutNodesIndex;
Expand Down Expand Up @@ -418,7 +419,7 @@ function _init() {
}
}, _callee7);
}));
function onAuthorized(_x21, _x22, _x23) {
function onAuthorized(_x22, _x23, _x24) {
return _onAuthorized3.apply(this, arguments);
}
return onAuthorized;
Expand Down Expand Up @@ -467,7 +468,7 @@ function _init() {
}
}, _callee8);
}));
function onClick(_x24, _x25) {
function onClick(_x25, _x26) {
return _onClick.apply(this, arguments);
}
return onClick;
Expand All @@ -485,7 +486,7 @@ function _init() {
}
}, _callee9);
}));
function onShippingMethodSelected(_x26, _x27, _x28) {
function onShippingMethodSelected(_x27, _x28, _x29) {
return _onShippingMethodSelected3.apply(this, arguments);
}
return onShippingMethodSelected;
Expand All @@ -503,7 +504,7 @@ function _init() {
}
}, _callee10);
}));
function onShippingContactSelected(_x29, _x30, _x31) {
function onShippingContactSelected(_x30, _x31, _x32) {
return _onShippingContactSelected3.apply(this, arguments);
}
return onShippingContactSelected;
Expand Down Expand Up @@ -534,7 +535,7 @@ function _init() {
updateLoadedExpressMethods(APPLE_PAY);
checkIfExpressMethodsAreReady();
});
case 1:
case 2:
case "end":
return _context12.stop();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,21 +77,47 @@ module.exports.getPaymentMethods = /*#__PURE__*/function () {
}
return getPaymentMethods;
}();
module.exports.getConnectedTerminals = /*#__PURE__*/function () {
var _getConnectedTerminals = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
return _context3.abrupt("return", $.ajax({
url: window.getConnectedTerminalsURL,
type: 'post',
data: {
csrf_token: $('#adyen-token').val(),
data: JSON.stringify({
storeId: $('#storeList').val()
})
}
}));
case 1:
case "end":
return _context3.stop();
}
}, _callee3);
}));
function getConnectedTerminals() {
return _getConnectedTerminals.apply(this, arguments);
}
return getConnectedTerminals;
}();

/**
* Makes an ajax call to the controller function createTemporaryBasket
*/
module.exports.createTemporaryBasket = /*#__PURE__*/function () {
var _createTemporaryBasket = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
var _createTemporaryBasket = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
var productForm, data, dataFromEntries, parsedData;
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
productForm = document.getElementById('express-product-form');
data = new FormData(productForm);
dataFromEntries = Object.fromEntries(data.entries());
parsedData = JSON.parse(dataFromEntries['selected-express-product']);
return _context3.abrupt("return", $.ajax({
return _context4.abrupt("return", $.ajax({
url: window.createTemporaryBasketUrl,
type: 'post',
data: {
Expand All @@ -106,9 +132,9 @@ module.exports.createTemporaryBasket = /*#__PURE__*/function () {
}));
case 5:
case "end":
return _context3.stop();
return _context4.stop();
}
}, _callee3);
}, _callee4);
}));
function createTemporaryBasket() {
return _createTemporaryBasket.apply(this, arguments);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

<!--POS terminal-->
<field formid="terminalId" type="string" mandatory="false" />
<field formid="storeId" type="string" mandatory="false" />

<!--Adyen Component-->
<field formid="adyenStateData" type="string" mandatory="false" />
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading

0 comments on commit b0777aa

Please sign in to comment.