3

I'm making a payment by PayPal as a customer (express & Standard) in IWD OPC and I getting this error. This happened in my both sites after the 2.3.3 updated enter image description here

[2019-10-16 07:11:40] main.CRITICAL: Report ID: webapi-5da6b02296f14; Message: Property "DisableTmpl" does not have accessor method "getDisableTmpl" in class "Magento\Quote\Api\Data\PaymentInterface". {"exception":"[object] (Exception(code: 0): Report ID: webapi-5da6b02296f14; Message: Property \"DisableTmpl\" does not have accessor method \"getDisableTmpl\" in class \"Magento\\Quote\\Api\\Data\\PaymentInterface\". at /home/332092.cloudwaysapps.com/wvrgznubmd/public_html/vendor/magento/framework/Webapi/ErrorProcessor.php:208, LogicException(code: 0): Property \"DisableTmpl\" does not have accessor method \"getDisableTmpl\" in class \"Magento\\Quote\\Api\\Data\\PaymentInterface\". at /home/332092.cloudwaysapps.com/wvrgznubmd/public_html/vendor/magento/framework/Reflection/NameFinder.php:100)"} []

Appreciate any help Thanks, Kobi

3 Answers 3

11

Open the below js file and update as per given below then do compilation and test.

File path: vendor/magento/module-checkout/view/frontend/web/js/action/select-payment-method.js

Overwrite to: app/design/frontend/{your theme}/{theme name}/Magento_Checkout/web/js/action/select-payment-method.js

Old:

define([
    '../model/quote'
], function (quote) {
    'use strict';

    return function (paymentMethod) {
        if (paymentMethod) {
            paymentMethod.__disableTmpl = {
                title: true
            };
        }
        quote.paymentMethod(paymentMethod);
    };
});

New:

 define([
    '../model/quote'
], function (quote) {
    'use strict';

    return function (paymentMethod) {
        /*if (paymentMethod) {
            paymentMethod.__disableTmpl = {
                title: true
            };
        }*/
        quote.paymentMethod(paymentMethod);
    };
});

Then do the compilation, then it will work.

Reference link.

3
  • I have implement your solution but PayPal payflow Pro is still not working.
    – meet
    Commented Dec 1, 2019 at 17:41
  • Our problem went away with this fix. As stated in the other solution here you should put the fix to your theme folder app/design/frontend/{your theme}/{theme name}/Magento_Checkout/web/js/action/select-payment-method.js
    – Webninja
    Commented Jan 2, 2020 at 9:15
  • any disadvantage of commenting above code ?
    – Pawan
    Commented Mar 24, 2020 at 8:04
3

It's always no good to modify the core file. It'd be better to override it by copying the file to your theme and put it in Magento_Checkout directory . For example copy the file from vendor/magento/module-checkout/view/frontend/web/js/action/select-payment-method.js to app/design/frontend/{your theme}/{theme name}/Magento_Checkout/web/js/action/select-payment-method.js. Then modify the copied file like ManiMaran A said.

-1

I'm having the same problem at the moment, just using stock paypal express module. And we're getting this error..

Property "DisableTmpl" does not have accessor method "getDisableTmpl" in class "Magento\Quote\Api\Data\PaymentInterface".

In the IWD Onepage checkout, it doen't matter if i disable it or not.. it's very frustrating.. we're also working with a VES Theme

We just updated to Magento version 2.2.11

1
  • did you found any solution for this Commented Mar 23, 2020 at 2:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.