I am stuck. Can someone please correct my code?
define([
'underscore',
'Magento_Checkout/js/model/payment/method-list',
'Magento_Checkout/js/action/select-payment-method',
'mage/utils/wrapper',
'Magento_Checkout/js/model/quote',
], function (_, methodList, selectPaymentMethod, wrapper, quote) {
'use strict';
var isCashOnDeliveryMethod = function (paymentMethod) {
return paymentMethod.method === 'cashondelivery';
}
return function (paymentService) {
var setPaymentMethods = paymentService.setPaymentMethods;
setPaymentMethods = wrapper.wrap(setPaymentMethods, function(original,methods){
console.log('before');
var result = original();
var state = quote.shippingAddress().regionCode;
console.log(state);
if(state != "AZ"){
var cod = _.find(methods, isCashOnDeliveryMethod);
methods = _.without(methods, cod);
console.log(methods)
console.log(methodList(methods));
}
selectPaymentMethod(methods);
console.log('after');
return setPaymentMethods.apply(this, arguments);
// return setPaymentMethods;
// return result;
});
paymentService.setPaymentMethods = setPaymentMethods;
var getAvailablePaymentMethods = paymentService.getAvailablePaymentMethods;
getAvailablePaymentMethods = wrapper.wrap(getAvailablePaymentMethods, function(original,allMethods){
// var state = quote.shippingAddress().regionCode;
// console.log(state)
console.log('before avail');
// console.log(quote.shippingAddress().regionCode);
var result = original();
console.log('after avail');
console.log(allMethods);
// return result;
return getAvailablePaymentMethods.apply(this, arguments)
});
paymentService.getAvailablePaymentMethods = getAvailablePaymentMethods;
return paymentService;
};
});