4.0.7 Release Notes
Version 4.0.7 is a patch release with three enhancements and one bug fix.
Download 4.0.7
Additions
Billing Address Now Included in Express Checkout Payment Method Creation
Apple Pay and Google Pay normally provide their own billing address as part of the wallet payment sheet on the product page, the cart page, and the express checkout buttons. In the Payment Methods section of the standard checkout page, however, the customer has already entered their billing address in the checkout form itself, so the wallet does not need to collect it again — the plugin sets billingAddressRequired to false for this case. When Guest Customer Creation was enabled in Advanced Settings, that checkout-page billing address was still associated with the transaction, via the Stripe customer object created for the guest. But since that association depended on Guest Customer Creation, merchants who had disabled the setting could see a "Transaction missing data" message after paying with an express payment button in this section, since no customer object was created to carry the billing address.
The billing address, name, email, and phone number entered on the checkout page are now included directly in the payment method creation request whenever billingAddressRequired is false, on both classic (shortcode) checkout and the WooCommerce Checkout block. This means the billing address is attached to the transaction regardless of whether Guest Customer Creation is enabled.
Local Payment Methods Now Support Free Trial Subscriptions When Manual Renewals Are Enabled
When Accept Manual Renewals was enabled on the WooCommerce > Settings > Subscriptions page, local payment methods such as Affirm, Afterpay, and Klarna were not available for a subscription with a $0 free trial. These gateways validate the order total against a minimum purchase amount, and a free trial's $0 total always failed that check, so the payment method didn't appear on checkout.
These gateways now use the subscription's actual recurring total for that validation instead of the free trial's $0 total, so they display correctly and can be used to start a free trial subscription when manual renewals are enabled.
Reduced Size of Stripe Data Loaded on Front-End Pages
Previously, the plugin printed its full JavaScript settings payload — including cart contents and customer information such as name, email, phone, and billing and shipping address — on every front-end page, regardless of whether the page had anything to do with Stripe.
Cart and customer data is now only included on pages that actually need it: the product, cart, checkout, Pay for Order, and Add Payment Method pages, plus any page where a mini-cart-enabled Apple Pay, Google Pay, or Link button is configured to appear. The customer data itself was also trimmed to remove fields not used anywhere in the plugin's JavaScript, including the shipping address. Gateway configuration data used for mini-cart buttons and Buy Now Pay Later messaging is unaffected and continues to load as before, since it doesn't contain any customer information.
Bug Fixes
Payment Gateways Hidden During Free Trial Subscriptions When Manual Renewals Are Enabled
On the WooCommerce > Settings > Subscriptions page, if Accept Manual Renewals was enabled, a subscription with a $0 free trial could cause Stripe gateways to disappear from checkout shortcode. This has now been resolved by adding logic that detects if manual renewals is enabled.