Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
AdyenHelper.savePaymentDetails(paymentInstrument, order, result);
order.setPaymentStatus(dw.order.Order.PAYMENT_STATUS_PAID);
order.setExportStatus(dw.order.Order.EXPORT_STATUS_READY);
Transaction.commit();
COHelpers.sendConfirmationEmail(order, req.locale.id);
clearForms();
res.redirect(URLUtils.url('Order-Confirm', 'ID', order.orderNo, 'token', order.orderToken).toString());
return next();
}
}
Logger.getLogger("Adyen").error("Session variable does not exists");
res.redirect(URLUtils.url('Error-ErrorCode', 'err', 'general'));
return next();
});
server.get('Adyen3DS2', server.middleware.https, function (req, res, next) {
var protocol = req.https ? "https" : "http";
var adyenGetOriginKey = require('*/cartridge/scripts/adyenGetOriginKey');
try {
var originKey = adyenGetOriginKey.getOriginKeyFromRequest(protocol, req.host);
var environment = AdyenHelper.getAdyenMode().toLowerCase();
var resultCode = req.querystring.resultCode;
var token3ds2 = req.querystring.token3ds2;
res.render('/threeds2/adyen3ds2', {
locale: request.getLocale(),
originKey: originKey,
environment: environment,
resultCode: resultCode,
token3ds2: token3ds2
});
AdyenHelper.savePaymentDetails(paymentInstrument, order, result);
order.setPaymentStatus(dw.order.Order.PAYMENT_STATUS_PAID);
order.setExportStatus(dw.order.Order.EXPORT_STATUS_READY);
Transaction.commit();
COHelpers.sendConfirmationEmail(order, req.locale.id);
clearForms();
res.redirect(URLUtils.url('Order-Confirm', 'ID', order.orderNo, 'token', order.orderToken).toString());
return next();
}
Logger.getLogger("Adyen").error("Session variables for 3DS2 do not exists");
res.redirect(URLUtils.url('Error-ErrorCode', 'err', 'general'));
return next();
});
server.get('Redirect', server.middleware.https, function (req, res, next) {
var signature = req.querystring.signature;
var order = OrderMgr.getOrder(session.privacy.orderNo);
if(order && signature){
var paymentInstruments = order.getPaymentInstruments("Adyen");
var adyenPaymentInstrument;
var paymentData;
//looping through all Adyen payment methods, however, this only can be one.
var instrumentsIter = paymentInstruments.iterator();
while (instrumentsIter.hasNext()) {
adyenPaymentInstrument = instrumentsIter.next();
paymentData = adyenPaymentInstrument.custom.adyenPaymentData;
}
var currentSignature = AdyenHelper.getAdyenHash(req.querystring.redirectUrl, paymentData);
if(signature == currentSignature) {
/**
* Inspect fields
*/
app.get('/:mapfile_64/fields.json', function(req, res) {
});
/**
* Inspect data
*/
app.get('/:mapfile_64/data.json', function(req, res) {
});
/**
* Inspect layer
*/
app.get('/:mapfile_64/:layer_64/layer.json', function(req, res) {
});
/**
* Inspect field values
*/
app.get('/:mapfile_64/:layer_64/:feature_64/values.json', function(req, res) {
});
return next();
}
}
else {
Logger.getLogger("Adyen").error("No signature or no order with orderNo " + session.privacy.orderNo);
}
Logger.getLogger("Adyen").error("Redirect signature is not correct");
Transaction.wrap(function () {
OrderMgr.failOrder(order);
});
res.redirect(URLUtils.url('Checkout-Begin', 'stage', 'payment', 'paymentError', Resource.msg('error.payment.not.valid', 'checkout', null)));
return next();
});
server.get('ShowConfirmation', server.middleware.https, function (req, res, next) {
try {
var order = OrderMgr.getOrder(session.privacy.orderNo);
var paymentInstruments = order.getPaymentInstruments("Adyen");
var adyenPaymentInstrument;
var paymentData;
//looping through all Adyen payment methods, however, this only can be one.
var instrumentsIter = paymentInstruments.iterator();
while (instrumentsIter.hasNext()) {
adyenPaymentInstrument = instrumentsIter.next();
paymentData = adyenPaymentInstrument.custom.adyenPaymentData;
}
//details is either redirectResult or payload
var details;
if (req.querystring.redirectResult) {
tl = require('tl');
app.get('/status.json', function(req, res) {
res.send({ status: 'true' });
});
/**
* Inspect fields
*/
app.get('/:mapfile_64/fields.json', function(req, res) {
});
/**
* Inspect data
*/
app.get('/:mapfile_64/data.json', function(req, res) {
});
/**
* Inspect layer
*/
app.get('/:mapfile_64/:layer_64/layer.json', function(req, res) {
});
/**
* Inspect field values
*/
app.get('/:mapfile_64/:layer_64/:feature_64/values.json', function(req, res) {
});
'use strict';
var server = require('server');
var URLUtils = require('dw/web/URLUtils');
var Transaction = require('dw/system/Transaction');
var COHelpers = require('*/cartridge/scripts/checkout/checkoutHelpers');
var adyenHelpers = require('*/cartridge/scripts/checkout/adyenHelpers');
var OrderMgr = require('dw/order/OrderMgr');
var Resource = require('dw/web/Resource');
var Site = require('dw/system/Site');
var Logger = require('dw/system/Logger');
var AdyenHelper = require('*/cartridge/scripts/util/AdyenHelper');
const EXTERNAL_PLATFORM_VERSION = "SFRA";
server.get('Adyen3D', server.middleware.https, function (req, res, next) {
var IssuerURL = req.querystring.IssuerURL;
var PaRequest = req.querystring.PaRequest;
var MD = req.querystring.MD;
var TermURL = URLUtils.https('Adyen-AuthorizeWithForm');
res.render('adyenform', {
issuerUrl: IssuerURL,
paRequest: PaRequest,
md: MD,
ContinueURL: TermURL
});
next();
});
server.post('AuthorizeWithForm', server.middleware.https, function (req, res, next) {
var adyenCheckout = require('*/cartridge/scripts/adyenCheckout');
var app = require('server'),
_ = require('underscore')._,
tl = require('tl');
app.get('/:scheme/:mapfile_64/:z/:x/:y.*', function(req, res) {
/*
* scheme: (xyz|tms|tile (tms))
*
* format:
* - Tile: (png|jpg)
* - Data Tile: (geojson)
* - Grid Tile: (*.grid.json)
*/
try {
var tile = new tl.Tile(
req.params.scheme,
req.params.mapfile_64,
req.params.z,
req.params.x,
req.params.y,
req.params[0]);
}
catch (e){
Logger.getLogger("Adyen").error("Could not verify /payment/details: " + e.message);
res.redirect(URLUtils.url('Error-ErrorCode', 'err', 'general'));
return next();
}
});
server.get('OrderConfirm', server.middleware.https, function (req, res, next) {
res.redirect(URLUtils.url('Order-Confirm', 'ID', req.querystring.ID, 'token', req.querystring.token).toString());
return next();
});
server.get('GetPaymentMethods', server.middleware.https, function (req, res, next) {
var BasketMgr = require('dw/order/BasketMgr');
var Resource = require('dw/web/Resource');
var getPaymentMethods = require('*/cartridge/scripts/adyenGetPaymentMethods');
var Locale = require('dw/util/Locale');
var countryCode = Locale.getLocale(req.locale.id).country;
var currentBasket = BasketMgr.getCurrentBasket();
if (currentBasket.getShipments().length > 0 && currentBasket.getShipments()[0].shippingAddress) {
countryCode = currentBasket.getShipments()[0].shippingAddress.getCountryCode();
}
var paymentMethods;
var descriptions = [];
try {
paymentMethods = getPaymentMethods.getMethods(BasketMgr.getCurrentBasket(), countryCode.value.toString()).paymentMethods;
paymentMethods = paymentMethods.filter(function (method) {
return !isMethodTypeBlocked(method.type);
});
/**
* Inspect data
*/
app.get('/:mapfile_64/data.json', function(req, res) {
});
/**
* Inspect layer
*/
app.get('/:mapfile_64/:layer_64/layer.json', function(req, res) {
});
/**
* Inspect field values
*/
app.get('/:mapfile_64/:layer_64/:feature_64/values.json', function(req, res) {
});
OrderMgr.failOrder(order, true);
});
res.redirect(URLUtils.url('Checkout-Begin', 'stage', 'placeOrder', 'paymentError', Resource.msg('error.technical', 'checkout', null)));
return next();
}
}
catch (e){
Logger.getLogger("Adyen").error("Could not verify /payment/details: " + e.message);
res.redirect(URLUtils.url('Error-ErrorCode', 'err', 'general'));
return next();
}
});
server.get('OrderConfirm', server.middleware.https, function (req, res, next) {
res.redirect(URLUtils.url('Order-Confirm', 'ID', req.querystring.ID, 'token', req.querystring.token).toString());
return next();
});
server.get('GetPaymentMethods', server.middleware.https, function (req, res, next) {
var BasketMgr = require('dw/order/BasketMgr');
var Resource = require('dw/web/Resource');
var getPaymentMethods = require('*/cartridge/scripts/adyenGetPaymentMethods');
var Locale = require('dw/util/Locale');
var countryCode = Locale.getLocale(req.locale.id).country;
var currentBasket = BasketMgr.getCurrentBasket();
if (currentBasket.getShipments().length > 0 && currentBasket.getShipments()[0].shippingAddress) {
countryCode = currentBasket.getShipments()[0].shippingAddress.getCountryCode();
}
var paymentMethods;
var descriptions = [];