Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Endpoint validations #1234

Merged
merged 12 commits into from
Jan 15, 2025
3 changes: 1 addition & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ module.exports = {
"import/extensions": "off",
"camelcase": "off",
"no-bitwise": "off",
"no-underscore-dangle": "off",
'no-restricted-syntax': ['off', 'ForOfStatement'],
"no-underscore-dangle": "off"
},
};
15 changes: 0 additions & 15 deletions cartridges/app_adyen_SFRA/.project

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,16 @@ function handleAction(action) {

// confirm onAdditionalDetails event and paymentsDetails response
store.checkoutConfiguration.onAdditionalDetails = function (state) {
var requestData = JSON.stringify({
data: state.data
});
$.ajax({
type: 'POST',
url: 'Adyen-PaymentsDetails',
data: JSON.stringify({
data: state.data
}),
contentType: 'application/json; charset=utf-8',
url: window.paymentsDetailsURL,
data: {
csrf_token: $('#adyen-token').val(),
data: requestData
},
async: false,
success: function success(data) {
if (data.isSuccessful) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ function handleOnDonate(state, component) {
amountValue: selectedAmount.value,
amountCurrency: selectedAmount.currency,
orderNo: window.orderNo,
orderToken: window.orderToken
orderToken: window.orderToken,
csrf_token: $('#adyen-token').val()
};
$.ajax({
url: window.donateURL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,33 +147,31 @@ function makeGiftcardPaymentRequest(_x, _x2, _x3) {
return _makeGiftcardPaymentRequest.apply(this, arguments);
}
function _makeGiftcardPaymentRequest() {
_makeGiftcardPaymentRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(giftCardData, giftcardBalance, reject) {
var brandSelect, selectedBrandIndex, giftcardBrand, partialPaymentRequest, partialPaymentResponse;
_makeGiftcardPaymentRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(paymentMethod, giftcardBalance, reject) {
var brandSelect, selectedBrandIndex, giftcardBrand, encryptedCardNumber, encryptedSecurityCode, brand, partialPaymentRequest, partialPaymentResponse;
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
brandSelect = document.getElementById('giftCardSelect');
selectedBrandIndex = brandSelect.selectedIndex;
giftcardBrand = brandSelect.options[selectedBrandIndex].text;
encryptedCardNumber = paymentMethod.encryptedCardNumber, encryptedSecurityCode = paymentMethod.encryptedSecurityCode, brand = paymentMethod.brand;
partialPaymentRequest = {
paymentMethod: giftCardData,
amount: giftcardBalance,
partialPaymentsOrder: {
pspReference: store.adyenOrderData.pspReference,
orderData: store.adyenOrderData.orderData
},
encryptedCardNumber: encryptedCardNumber,
encryptedSecurityCode: encryptedSecurityCode,
brand: brand,
giftcardBrand: giftcardBrand
};
_context2.next = 6;
_context2.next = 7;
return makePartialPayment(partialPaymentRequest);
case 6:
case 7:
partialPaymentResponse = _context2.sent;
if (partialPaymentResponse !== null && partialPaymentResponse !== void 0 && partialPaymentResponse.error) {
reject();
} else {
handlePartialPaymentSuccess();
}
case 8:
case 9:
case "end":
return _context2.stop();
}
Expand All @@ -190,11 +188,14 @@ function getGiftCardConfig() {
store.updateSelectedPayment(constants.GIFTCARD, 'stateData', state.data);
},
onBalanceCheck: function onBalanceCheck(resolve, reject, requestData) {
var payload = {
csrf_token: $('#adyen-token').val(),
data: JSON.stringify(requestData)
};
$.ajax({
type: 'POST',
url: window.checkBalanceUrl,
data: JSON.stringify(requestData),
contentType: 'application/json; charset=utf-8',
data: payload,
async: false,
success: function success(data) {
giftcardBalance = data.balance;
Expand Down Expand Up @@ -225,7 +226,7 @@ function getGiftCardConfig() {
store.partialPaymentsOrderObj.remainingAmountFormatted = data.remainingAmountFormatted;
store.partialPaymentsOrderObj.totalDiscountedAmount = data.totalAmountFormatted;
resolve(data);
} else if (data.resultCode === constants.NOTENOUGHBALANCE) {
} else if (data.resultCode === constants.NOTENOUGHBALANCE && data.balance.value > 0) {
resolve(data);
} else {
reject();
Expand All @@ -239,21 +240,23 @@ function getGiftCardConfig() {
onOrderRequest: function onOrderRequest(resolve, reject, requestData) {
// Make a POST /orders request
// Create an order for the total transaction amount
var giftCardData = requestData.paymentMethod;
if (store.adyenOrderData) {
makeGiftcardPaymentRequest(giftCardData, giftcardBalance, reject);
var paymentMethod = requestData.paymentMethod;
if (store.adyenOrderDataCreated) {
makeGiftcardPaymentRequest(paymentMethod, giftcardBalance, reject);
} else {
$.ajax({
type: 'POST',
url: window.partialPaymentsOrderUrl,
data: JSON.stringify(requestData),
contentType: 'application/json; charset=utf-8',
data: {
csrf_token: $('#adyen-token').val(),
data: JSON.stringify(requestData)
},
async: false,
success: function success(data) {
if (data.resultCode === 'Success') {
store.adyenOrderData = data;
store.adyenOrderDataCreated = true;
// make payments call including giftcard data and order data
makeGiftcardPaymentRequest(giftCardData, giftcardBalance, reject);
makeGiftcardPaymentRequest(paymentMethod, giftcardBalance, reject);
}
}
});
Expand All @@ -268,14 +271,29 @@ function getGiftCardConfig() {
}
};
}
function handleOnChange(state) {
var type = state.data.paymentMethod.type;
store.isValid = state.isValid;
if (!store.componentsObj[type]) {
store.componentsObj[type] = {};
}
store.componentsObj[type].isValid = store.isValid;
store.componentsObj[type].stateData = state.data;
function handleOnChange(_x4) {
return _handleOnChange.apply(this, arguments);
}
function _handleOnChange() {
_handleOnChange = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(state) {
var type;
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
type = state.data.paymentMethod.type;
store.isValid = state.isValid;
if (!store.componentsObj[type]) {
store.componentsObj[type] = {};
}
store.componentsObj[type].isValid = store.isValid;
store.componentsObj[type].stateData = state.data;
case 5:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return _handleOnChange.apply(this, arguments);
}
var actionHandler = /*#__PURE__*/function () {
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(action) {
Expand All @@ -301,19 +319,22 @@ var actionHandler = /*#__PURE__*/function () {
}
}, _callee);
}));
return function actionHandler(_x4) {
return function actionHandler(_x5) {
return _ref.apply(this, arguments);
};
}();
function handleOnAdditionalDetails(state) {
var requestData = JSON.stringify({
data: state.data,
orderToken: window.orderToken
});
$.ajax({
type: 'POST',
url: window.paymentsDetailsURL,
data: JSON.stringify({
data: state.data,
orderToken: window.orderToken
}),
contentType: 'application/json; charset=utf-8',
data: {
csrf_token: $('#adyen-token').val(),
data: requestData
},
async: false,
success: function success(data) {
if (!data.isFinal && _typeof(data.action) === 'object') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ function paymentFromComponent(data) {
url: window.paymentFromComponentURL,
type: 'post',
data: {
csrf_token: $('#adyen-token').val(),
data: JSON.stringify(requestData),
paymentMethod: document.querySelector('#adyenPaymentMethodName').value
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,18 @@ function makePartialPayment(requestData) {
$.ajax({
url: window.partialPaymentUrl,
type: 'POST',
data: JSON.stringify(requestData),
contentType: 'application/json; charset=utf-8'
data: {
csrf_token: $('#adyen-token').val(),
data: JSON.stringify(requestData)
}
}).done(function (response) {
if (response.error) {
reject(new Error("Partial payment error ".concat(response === null || response === void 0 ? void 0 : response.error)));
} else {
var giftCards = response.giftCards,
rest = _objectWithoutProperties(response, _excluded);
store.checkout.options.amount = rest.remainingAmount;
store.adyenOrderData = rest.partialPaymentsOrder;
store.adyenOrderDataCreated = rest.orderCreated;
store.partialPaymentsOrderObj = rest;
sessionStorage.setItem('partialPaymentsObj', JSON.stringify(rest));
store.addedGiftCards = giftCards;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,50 +48,51 @@ function showGiftCardCancelButton(show) {
}
}
function removeGiftCards() {
var _store$addedGiftCards;
(_store$addedGiftCards = store.addedGiftCards) === null || _store$addedGiftCards === void 0 ? void 0 : _store$addedGiftCards.forEach(function (card) {
$.ajax({
type: 'POST',
url: window.cancelPartialPaymentOrderUrl,
data: JSON.stringify(card),
contentType: 'application/json; charset=utf-8',
async: false,
success: function success(res) {
var adyenPartialPaymentsOrder = document.querySelector('#adyenPartialPaymentsOrder');
var _getGiftCardElements2 = getGiftCardElements(),
giftCardsList = _getGiftCardElements2.giftCardsList,
giftCardAddButton = _getGiftCardElements2.giftCardAddButton,
giftCardSelect = _getGiftCardElements2.giftCardSelect,
giftCardUl = _getGiftCardElements2.giftCardUl,
giftCardsInfoMessageContainer = _getGiftCardElements2.giftCardsInfoMessageContainer,
giftCardSelectContainer = _getGiftCardElements2.giftCardSelectContainer,
cancelMainPaymentGiftCard = _getGiftCardElements2.cancelMainPaymentGiftCard,
giftCardInformation = _getGiftCardElements2.giftCardInformation;
adyenPartialPaymentsOrder.value = null;
giftCardsList.innerHTML = '';
giftCardAddButton.style.display = 'block';
giftCardSelect.value = null;
giftCardSelectContainer.classList.add('invisible');
giftCardSelect.classList.remove('invisible');
giftCardUl.innerHTML = '';
cancelMainPaymentGiftCard.classList.add('invisible');
showGiftCardCancelButton(false);
giftCardInformation === null || giftCardInformation === void 0 ? void 0 : giftCardInformation.remove();
store.checkout.options.amount = res.amount;
store.partialPaymentsOrderObj = null;
store.addedGiftCards = null;
store.adyenOrderData = null;
giftCardsInfoMessageContainer.innerHTML = '';
giftCardsInfoMessageContainer.classList.remove('gift-cards-info-message-container');
$.ajax({
type: 'POST',
url: window.cancelPartialPaymentOrderUrl,
data: {
csrf_token: $('#adyen-token').val()
},
async: false,
success: function success(res) {
var adyenPartialPaymentsOrder = document.querySelector('#adyenPartialPaymentsOrder');
var _getGiftCardElements2 = getGiftCardElements(),
giftCardsList = _getGiftCardElements2.giftCardsList,
giftCardAddButton = _getGiftCardElements2.giftCardAddButton,
giftCardSelect = _getGiftCardElements2.giftCardSelect,
giftCardUl = _getGiftCardElements2.giftCardUl,
giftCardsInfoMessageContainer = _getGiftCardElements2.giftCardsInfoMessageContainer,
giftCardSelectContainer = _getGiftCardElements2.giftCardSelectContainer,
cancelMainPaymentGiftCard = _getGiftCardElements2.cancelMainPaymentGiftCard,
giftCardInformation = _getGiftCardElements2.giftCardInformation;
adyenPartialPaymentsOrder.value = null;
giftCardsList.innerHTML = '';
giftCardAddButton.style.display = 'block';
giftCardSelect.value = null;
giftCardSelectContainer.classList.add('invisible');
giftCardSelect.classList.remove('invisible');
giftCardUl.innerHTML = '';
cancelMainPaymentGiftCard.classList.add('invisible');
showGiftCardCancelButton(false);
giftCardInformation === null || giftCardInformation === void 0 ? void 0 : giftCardInformation.remove();
store.checkout.options.amount = res.amount;
store.partialPaymentsOrderObj = null;
store.addedGiftCards = null;
store.adyenOrderDataCreated = false;
giftCardsInfoMessageContainer.innerHTML = '';
giftCardsInfoMessageContainer.classList.remove('gift-cards-info-message-container');
var submitButton = document.querySelector('button[value="submit-payment"]');
if (submitButton) {
document.querySelector('button[value="submit-payment"]').disabled = false;
if (res.resultCode === constants.RECEIVED) {
var _document$querySelect, _store$componentsObj, _store$componentsObj$;
(_document$querySelect = document.querySelector('#cancelGiftCardContainer')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.parentNode.remove();
(_store$componentsObj = store.componentsObj) === null || _store$componentsObj === void 0 ? void 0 : (_store$componentsObj$ = _store$componentsObj.giftcard) === null || _store$componentsObj$ === void 0 ? void 0 : _store$componentsObj$.node.unmount('component_giftcard');
}
initializeCheckout();
}
});
if (res.resultCode === constants.RECEIVED) {
var _document$querySelect, _store$componentsObj, _store$componentsObj$;
(_document$querySelect = document.querySelector('#cancelGiftCardContainer')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.parentNode.remove();
(_store$componentsObj = store.componentsObj) === null || _store$componentsObj === void 0 ? void 0 : (_store$componentsObj$ = _store$componentsObj.giftcard) === null || _store$componentsObj$ === void 0 ? void 0 : _store$componentsObj$.node.unmount('component_giftcard');
}
initializeCheckout();
}
});
}
function giftCardBrands() {
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading