I make module custom payment
and my module have been redirect to payment gateway
but when payment gateway redirect to response page and reponse page redirect to success page
magento redirect again to cart page
I have been debug
my response get invalid from session model checkout
here my code
web-method.js:
define(
[
'Magento_Checkout/js/view/payment/default',
'jquery',
'Magento_Checkout/js/model/quote',
'Magento_Checkout/js/model/url-builder',
'mage/storage',
'Magento_Checkout/js/model/error-processor',
'Magento_Customer/js/model/customer',
'Magento_Checkout/js/model/full-screen-loader',
'web/js/action/set-payment-method',
'Magento_Checkout/js/model/payment/additional-validators',
'mage/url'
],
function (Component, $, quote, urlBuilder, storage, errorProcessor, customer, fullScreenLoader, setPaymentMethodAction, additionalValidators, url) {
'use strict';
return Component.extend({
defaults: {
template: 'web/payment/web'
},
/** Redirect to Web */
placeOrder: function () {
if (additionalValidators.validate()) {
//update payment method information if additional data was changed
this.selectPaymentMethod();
setPaymentMethodAction(this.messageContainer);
return false;
}
}
});
}
);
here my set-payment-method.js
define(
[
'jquery',
'Magento_Checkout/js/model/quote',
'Magento_Checkout/js/model/url-builder',
'mage/storage',
'Magento_Checkout/js/model/error-processor',
'Magento_Customer/js/model/customer',
'Magento_Checkout/js/model/full-screen-loader'
],
function ($, quote, urlBuilder, storage, errorProcessor, customer, fullScreenLoader) {
'use strict';
return function (messageContainer) {
var serviceUrl,
payload,
paymentData = quote.paymentMethod();
/**
* Checkout for guest and registered customer.
*/
if (!customer.isLoggedIn()) {
serviceUrl = urlBuilder.createUrl('/guest-carts/:cartId/selected-payment-method', {
cartId: quote.getQuoteId()
});
payload = {
cartId: quote.getQuoteId(),
method: paymentData
};
} else {
serviceUrl = urlBuilder.createUrl('/carts/mine/selected-payment-method', {});
payload = {
cartId: quote.getQuoteId(),
method: paymentData
};
}
fullScreenLoader.startLoader();
return storage.put(
serviceUrl, JSON.stringify(payload)
).done(
function () {
$.mage.redirect('/web/payment/redirect');
}
).fail(
function (response) {
errorProcessor.process(response, messageContainer);
fullScreenLoader.stopLoader();
}
);
};
}
);
magento 2.1