Skip to main content

4.0.18 Release Notes

Version 4.0.18 is a patch release with four bug fixes and a security improvement.


Download 4.0.18

Bug Fixes​

Express Checkout Banner No Longer Leaves a Grey Placeholder Bar When PayPal Is Also Present​

On stores that also run Payment Plugins for PayPal WooCommerce, the Express Checkout banner, and the equivalent express payment area on the cart and product pages, could show an empty grey bar after the Apple Pay and Google Pay buttons finished loading. The space reserved for PayPal's own button was never released, since the plugin has no way to know when a button it doesn't control has finished loading.

Loading placeholders are now only shown for this plugin's own buttons, so PayPal's button area is no longer affected.

Order Pay Failed With the Universal Payment Method When a Custom Payment Method Configuration Was Set​

Paying for an existing unpaid order from the WooCommerce Order Pay page with the Universal Payment Method, with a custom Payment Method Configuration ID set in its settings, failed with:

You must enable automatic_payment_methods to specify a payment_method_configuration.

This only affected the Order Pay page; starting checkout from the cart was never affected. Order Pay now resolves the payment method the same way regular checkout does, and this error no longer occurs.

Saving Payment Method Settings in Test Mode Failed When the Account's Default Configuration Belonged to Another Application​

On stores where the connected Stripe account's default payment method configuration wasn't created by this plugin — for example, one left behind by a different Stripe plugin such as WooCommerce Stripe Gateway — saving this plugin's payment method settings in test mode could fail with:

Error updating payment method configuration pmc_... Applications cannot update child configurations belonging to other applications.

In test mode, the plugin selected a fallback payment method configuration based only on whether it was flagged as the account's default, without checking whether that configuration belonged to a different application. Stripe doesn't allow one application to update another's configuration, so the save failed whenever that default configuration wasn't its own. Live mode was never affected, since live connections are always made through Stripe's own account-connection process, which reliably identifies this plugin's own configuration.

The plugin's test-mode fallback now also confirms the configuration isn't owned by another application before using it, so this error no longer occurs.

Cart Quantities Could Intermittently Double​

On the cart page, a product could occasionally appear as two separate lines instead of one, with the two lines together adding up to the quantity actually in the cart, rather than that quantity appearing correctly on a single line, as reported on the WordPress.org support forums.

The plugin briefly creates a temporary cart entry to calculate pricing for payment options like Buy Now, Pay Later on the product page, then removes it once the calculation finishes. Some third-party plugins can save the cart to the session at points this plugin can't predict or control, and in rare cases one of those saves happened while the temporary entry was still present, so it was saved as part of the real cart instead of being removed.

The plugin now also checks for and removes this temporary entry whenever the cart is loaded, so a leftover entry no longer appears as a duplicate line, regardless of what caused it to be saved.


Security​

Improved Handling of Checkout Error Messages​

The handling of error messages displayed during checkout was improved for added security.