I’m trying to override one method from the Multisafepay Payment Module.
// vendor/multisafepay/magento2-frontend/view/base/requirejs-config.js
let config = {
map: {
'*': {
multisafepayCreditCardComponent: 'MultiSafepay_ConnectFrontend/js/credit-card-component'
}
}
};
So I created my own module / requirejs :
// app/code/Acme/Checkout/view/base/requirejs-config.js
console.log('RequireJS Override');
var config = {
mixins:
{
multisafepayCreditCardComponent:
{
'Acme_Checkout/js/credit-card-component': true
}
}
};
And here is the mixin js file :
// app/code/Acme/Checkout/view/base/web/js/credit-card-component.js
define([
'jquery',
'mage/translate',
'Magento_Customer/js/customer-data',
'Magento_Checkout/js/model/quote',
'multisafepayCreditCardComponentLib'
], function (
$,
$t,
customerData,
quote,
multisafepayCreditCardComponentLib
) {
'use strict';
console.log('Override mixin');
var mixin =
{
/**
*
* @param paymentRequestData
* @returns {{template: {settings: {embed_mode: boolean}}, amount: number, currency, customer: {country, locale}}}
*/
getOrderData: function (paymentRequestData) {
console.log('msp vendor 2');
return {
customer: {
locale: paymentRequestData.locale,
country: quote.billingAddress().countryId
},
currency: paymentRequestData.currency,
amount: paymentRequestData.cartTotal * 100,
template: {
settings: {
embed_mode: true
},
"payment_form": {
"inputs": {
"background": "#161616",
"color": "#a7a7a8",
"font": {
"size": 14,
"placeholder_color": ""
},
"border": {
"color": "#cccccc",
"radius": 0,
"box_shadow": 0
},
"label": {
"color": "#212529",
"size": 16
}
}
}
}
}
}
};
return function (target) {
return target.extend(mixin);
};
});
The problem is : the requireJS is correctly read (I get the ‘RequireJS Override’ log). But my console.log(‘Override mixin’); is never triggered. I don’t know what is wrong here. Can someone help ?