| Current Path : /proc/thread-self/cwd/static/frontend/Magento/blank/it_IT/Magento_Checkout/js/model/ |
| Current File : //proc/thread-self/cwd/static/frontend/Magento/blank/it_IT/Magento_Checkout/js/model/place-order.js |
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* @api
*/
define(
[
'mage/storage',
'Magento_Checkout/js/model/error-processor',
'Magento_Checkout/js/model/full-screen-loader',
'Magento_Customer/js/customer-data',
'Magento_Checkout/js/model/payment/place-order-hooks',
'underscore'
],
function (storage, errorProcessor, fullScreenLoader, customerData, hooks, _) {
'use strict';
return function (serviceUrl, payload, messageContainer) {
var headers = {}, redirectURL = '';
fullScreenLoader.startLoader();
_.each(hooks.requestModifiers, function (modifier) {
modifier(headers, payload);
});
return storage.post(
serviceUrl, JSON.stringify(payload), true, 'application/json', headers
).fail(
function (response) {
errorProcessor.process(response, messageContainer);
redirectURL = response.getResponseHeader('errorRedirectAction');
if (redirectURL) {
setTimeout(function () {
errorProcessor.redirectTo(redirectURL);
}, 3000);
}
}
).done(
function (response) {
var clearData = {
'selectedShippingAddress': null,
'shippingAddressFromData': null,
'newCustomerShippingAddress': null,
'selectedShippingRate': null,
'selectedPaymentMethod': null,
'selectedBillingAddress': null,
'billingAddressFromData': null,
'newCustomerBillingAddress': null
};
if (response.responseType !== 'error') {
customerData.set('checkout-data', clearData);
}
}
).always(
function () {
fullScreenLoader.stopLoader();
_.each(hooks.afterRequestListeners, function (listener) {
listener();
});
}
);
};
}
);