-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BP-4009 & BP-4160 buckarooFee.title is not a function #1108
Comments
Hi @onepack , Thank you for reporting this issue. We have developed a fix, which will be included in our next release. |
We are several weeks later and still there is no solutioh for this error!!! |
Hi @richardreen, Additionally, we have prepared a Pull Request to address this issue: #1119 |
Hi @onepack & @richardreen , A fix has been implemented and is now available in v1.51.0. |
This doesn't work with FireCheckout for certain stores. There is no error checking or fallback in the various payment method js's for example, if you pick ideal.js and comment out I see in totals.js (the change that is in the latest version) but there's no error checking here. Apparently ko.observable(options.title) fails, then everything fails. |
This bug may occur because of a racing issue with Magento_PaymentServicesPaypal module. This core module adds the COMPLETE checkout config into the shortcut buttons HTML, which is stored in the local storage and used by minicart component. And minicart component is used as sidebar on checkout. No surprise, disabling shortcut buttons in the admin doesn't help, because checkout config is placed in In this module, the line
may be executed before the customer section update. In this case, the checkout config script from shortcut buttons HTML completely overwrites checkoutConfig changes, which makes I think script Alternatively, you can just disable the PayPal buttons in minicart and adjust <?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
?>
<?php
/** @var \Magento\PaymentServicesPaypal\Block\SmartButtons $block */
/** @var \Magento\Framework\Escaper $escaper */
/** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */
?>
<?php $serializedCheckoutConfig = /* @noEscape */ $block->getSerializedCheckoutConfig();
$scriptString = <<<script
window.checkoutConfig = {$serializedCheckoutConfig};
script;
?>
<?php if ($block->isLocationEnabled('minicart')): ?>
<div class="smart-buttons">
<div data-mage-init='{"Magento_PaymentServicesPaypal/js/view/payment/smart-buttons-cart":
<?= /* @noEscape */ json_encode($block->getComponentParams()) ?>}'></div>
</div>
<?php endif ?>
<?php if ($block->isApplePayLocationEnabled('minicart')): ?>
<div class="apple-pay">
<div data-mage-init='{"Magento_PaymentServicesPaypal/js/view/payment/apple-pay-cart":
<?= /* @noEscape */ json_encode($block->getComponentParams()) ?>}'></div>
</div>
<?php endif ?>
<?php if ($block->isGooglePayLocationEnabled('minicart')): ?>
<div class="google-pay">
<div data-mage-init='{"Magento_PaymentServicesPaypal/js/view/payment/google-pay-cart":
<?= /* @noEscape */ json_encode($block->getComponentParams()) ?>}'></div>
</div>
<?php endif ?>
<!-- here's the changed part -->
<?php if ($block->isLocationEnabled('minicart')
|| $block->isApplePayLocationEnabled('minicart')
|| $block->isGooglePayLocationEnabled('minicart')
): ?>
<?= /* @noEscape */ $secureRenderer->renderTag('script', [], $scriptString, false) ?>
<?php endif ?> That's what we did in the end, because we don't use these PayPal buttons anyway. |
Same issue. Unable to select any payment. Magento 2.4.7-p3 |
Hi @MatthijsvanNoort, @coughsyrupgit & @LeanderMatse , Thank you for sharing such detailed information. Your insights have been extremely helpful in understanding the issue, which indeed appears to be a race condition problem. We are actively investigating the issue and already have a potential fix. Looking forward to your response. Best regards, |
Since we updated Magento to 2.4.7-p3 we get this issue at the checkout for every payment method.
Your PHP version: 8.1.30
Buckaroo version: 1.50.2
Uncaught TypeError: window.checkoutConfig.buckarooFee.title is not a function
Uncaught TypeError: window.checkoutConfig.buckarooFee.title is not a function
selectPaymentMethod https://domain.com/static/version1731686103/frontend/Themebase/theme/nl_NL/Buckaroo_Magento2/js/view/payment/method-renderer/ideal.js:151
init https://domain.com/static/version1731686103/frontend/Themebase/theme/nl_NL/knockoutjs/knockout.js:4669
jQuery 5
The text was updated successfully, but these errors were encountered: