Introducing Product Videos – FluentCart 1.6.4

Most of what makes a store trustworthy happens when nobody is watching: the product page a shopper studies before buying, the hosted checkout that names what they are paying for, the renewal that runs overnight, and the staging copy that must never touch a live customer. FluentCart 1.6.4 tightens each of those surfaces. Product galleries can now carry FluentPlayer video, Stripe-hosted Checkout itemises every line, a test-mode guard keeps staging sites away from live subscribers, and a long list of fixes closes gaps in currencies, subscriptions, and permissions that only surface once a store is busy.
Product videos now live in the gallery
A demo video is often what turns a browser into a buyer, and until now FluentCart product galleries were images only. With the FluentPlayer plugin active, the Product Gallery dialog gains a Video tab. Paste a YouTube, Vimeo, or direct video URL, or search for a video already in your FluentPlayer library, and it joins the gallery with its title and poster pulled in automatically. Attached videos preview in the product edit screen alongside the images, so the full gallery is visible before you save.

On the storefront, each video shows as a poster thumbnail in the gallery strip and plays inline in the main image area, in whatever order you dragged it among the images. A product whose only media is video opens straight on the video, so a shopper lands on the demo rather than a placeholder.

For course sellers, software stores, and anyone who demos a product before selling it, the gallery now carries the whole pitch without a separate embed.
Staging sites can no longer bill your live subscribers
Cloning a live store to staging is routine. The trouble starts when the copy quietly keeps doing the live store’s work: creating renewal invoices, charging saved cards, checking in with the gateway, and emailing customers about payments they did not expect. 1.6.4 adds test-mode protection to the subscription engine. When a site is in test mode, renewal billing, scheduled charges, gateway reconciliation, and renewal reminder emails run only for subscriptions that match the site’s mode. Live subscriptions on a test-mode copy are held rather than charged, and the admin “charge now” button explains why instead of doing nothing. The setting, “Don’t bill live subscriptions from this site while it is in test mode”, is on by default and stays on unless you explicitly turn it off.
Copy your store as often as you like. The customers on the live one will not notice.
Stripe hosted Checkout now shows buyers what they are paying for
Buyers on Stripe’s hosted Checkout page used to see a single line worth the whole charge, labelled with the store name and an order number. 1.6.4 itemises that page: one line per product, plus shipping and tax where they apply. For subscription checkouts, setup fees, one-time add-ons, and first-cycle differences appear under their own names instead of being folded into the plan. A new “Submit Button Label” setting for Stripe hosted Checkout lets you choose the button wording (Automatic, Buy, Book, Donate, or Subscribe) so a donation page or a booking flow reads the way it should.
Clearer line items mean fewer abandoned payments at the last step and fewer “what was this charge” emails afterwards.
A Cart block and richer Bricks collections
Building the cart page in the block editor previously meant dropping the fluent_cart_cart shortcode onto a page. FluentCart now ships a Cart block with three child blocks, Cart Items, Cart Total, and Checkout Button, so the cart page can be laid out like any other block page, matching what the Checkout block already offers.
Bricks stores get more control over the Products Collection element. Sale and Sold Out badges can be switched on per collection, with badge text, a discount-percentage mode, shape, position, typography, and colors. Default Filter controls let a collection open with a preset search term and category selection, and “Allow Out Of Stock” decides whether sold-out items appear at all.
Storefront layouts that used to need custom code are now switches in the builder.
One-time purchases can be upgraded from the customer dashboard
Upgrade paths could be configured on one-time products but had no customer-facing entry point; the Upgrade button only appeared on subscriptions. Paid one-time orders with a configured upgrade path now show the same Upgrade option in the customer dashboard. For software stores selling a lifetime tier, or a course with a bigger bundle above it, the upsell now reaches the customers who already said yes once.
Improvements
Storefront speed. Product listings on the shop page and in collections issued hundreds of repeated database lookups per page, regardless of catalog size. Those lookups are gone, and catalog pages load noticeably faster on every store.
Thank-you page honesty. The receipt header now reflects the real payment state. A refunded order reads “Order Refunded” without a pay link, a failed payment reads “Payment Failed” with a retry link, and only genuinely pending orders show the pay-now prompt.
Subscription dates and grace. Next billing dates and license validity now anchor on the day the order was actually paid rather than the day it was created, so an invoice paid weeks late no longer shortens the term. Subscriptions in expiring or failing states receive the same grace-period access as past-due ones, and reactivation credit is calculated on its own terms so access rules and billing math cannot drift apart.
Three-stage overdue reminders. Overdue renewal reminders now escalate through first, follow-up, and final emails, each with its own template and subject, following the overdue schedule you configure rather than fixed day cutoffs.
Paddle for B2B stores (Pro). Reverse-charge orders paid through Paddle now show the net captured amount with a “Tax reversed” note on the transaction, and the customer’s VAT number and reverse-charge declaration appear on emails and receipts. Paddle also defaults to tax-exclusive pricing now, so listed prices are not reduced by VAT for EU buyers on tax-exclusive stores.
Paddle currency pinning (Pro). Paddle checkouts now settle in the order’s currency instead of being localized to the customer’s country, so the amount a buyer sees at checkout matches the order in FluentCart. Checkouts with a discount always use the order currency. Developers who prefer Paddle’s automatic localization can restore it via the fluent_cart/paddle_pin_checkout_currency filter hook.
Consent-aware attribution. Marketing attribution is stored on the visitor’s device only after a consent tool has approved it, and withdrawing consent clears what was stored. Stores subject to GDPR and Germany’s TDDDG can connect their consent banner without custom code.
Developer control. New filters let developers adjust order data at checkout and change CC, BCC, reply-to, and attachments on any outgoing email right before it sends. Report charts gain a Daily grouping option, with the Auto label reflecting the selected date range.
Admin and accessibility polish. The Products menu gains an All Products link reachable from touch and mobile menus. Screen readers now announce prices on product cards. Cart buttons share consistent styling with a visible keyboard focus state. The coupon “Per User Limit” field explains that it requires customers to be logged in. Converting a product from variations to Simple warns about, and clears, the leftover variation image. Dark mode styling for the editor and media modals has been refined, and the media modal toolbar lines up on WordPress 7.1. Bricks elements, gateway titles, the PayPal review notice, the custom-checkout payment notice, the license copy tooltip, and Pro admin strings are all translatable now.
Fixes & Stability
Currencies and gateways. PayPal checkout, plans, renewals, and refunds now work for zero-decimal currencies such as HUF, JPY, and TWD. Stripe subscription resyncs no longer inflate totals one hundredfold in those currencies, which had been breaking later refunds. Mollie and Authorize.Net no longer overcharge on JPY, and Mollie once again offers one-off methods such as iDEAL for store-managed subscriptions (Pro). Paddle full refunds on reverse-charge orders no longer get stuck at “Partially Refunded” (Pro).
Subscriptions and renewals. PayPal renewal bill counts stay accurate even when the first-payment notification was missed, and failed-renewal emails now send for Stripe and PayPal gateway renewals. A past-due subscription can no longer be expired over a renewal payment arriving at the same moment, and renewal reminder emails no longer mix one order’s details into another’s when several go out together.
Orders and data integrity. Two admins marking the same order paid at once no longer produce a duplicate charge, and marking a transaction succeeded now leaves the order in a valid paid state. Refund dates appear in exports, card last-4 digits keep their leading zero, and the payment method name is filled in for non-cash gateways. Payment-link re-pays charge the right total when a manual discount sat on a single item.
Checkout and cart. Cart status requests are no longer rejected on some sites, bundles no longer drop a child item, and a deleted order-bump product no longer breaks checkout. Blank formatting in checkout instructions no longer shows an empty box. The Checkout block now shows the FluentCRM newsletter opt-in, the Turnstile widget, and the saved-card picker. The Stripe 3D Secure loading overlay waits for the challenge to appear before hiding.
Storefront and catalog. Tax price suffixes such as “+ GST” render on simple product prices, shortcodes, quick view, and Elementor widgets. “Show Relevant” settings are respected on block themes and in the quick-view modal. The long description preview refreshes after edits in the builder. Clearing a variant SKU now saves, and a literal “0” SKU is kept. Bricks default filters and search presets survive load more, excluded products stay out of collection search, and card overlay badges sit where they should. The shop filter renders nested category levels with parent checkbox selection scoped correctly. Upgrade proration credits now calculate for quarterly and half-yearly plans, and variation inventory controls stay hidden while Stock Management is off.
Permissions and downloads. Bulk order delete now requires the delete-orders permission, download links can only be signed for the storage bucket you configured (core and Pro), and unverified PayPal notifications no longer reach extensions before the signature check, with rejected notifications now retried by PayPal.
Security and maintenance. This release includes ongoing security audits and routine hardening across both FluentCart core and FluentCart Pro.
Getting 1.6.4
Update FluentCart and FluentCart Pro from your dashboard. Product videos need the FluentPlayer plugin active; once it is, the Video tab appears in the Product Gallery dialog automatically. Test-mode protection is on by default and lives with the subscription settings. The Cart block is available in the block inserter under FluentCart, and the new Bricks controls appear on the Products Collection element. The Paddle, Mollie, and Authorize.Net changes ship with the Pro update.
Full Changelog
Features
- Adds FluentPlayer videos to product galleries with inline playback
- Adds Upgrade option for eligible one-time purchases in the customer dashboard
- Adds Test-mode protection to prevent billing, reconciliation, or emails for live subscriptions on staging sites
- Adds Sale and Sold Out badges to Bricks Products Collection with styling controls
- Adds Default filters and preset search controls to Bricks Products Collection
- Adds Stripe hosted Checkout button labels and itemised product, shipping, and tax lines
- Adds Cart block with Cart Items, Cart Total, and Checkout Button blocks
- Adds Three-stage overdue renewal reminder emails
- Adds Daily report chart grouping
- Adds Consent-based marketing attribution storage for GDPR and TDDDG compliance
- Adds Developer filters for checkout order data and outgoing emails
Improvements
- Improves Storefront product listing performance
- Improves Thank-you page messaging based on payment status
- Improves Subscription billing dates, license validity, and grace-period access
- Improves Paddle reverse-charge B2B transactions, VAT details, receipts, and emails (Pro)
- Improves Paddle checkouts to settle in the order’s currency by default, with a developer filter to restore Paddle’s country-based currency localization (Pro)
- Improves Coupon Per User Limit guidance
- Improves Product price accessibility for screen readers
- Improves Cart button styling and keyboard focus states
- Improves Products admin navigation with an All Products link
- Improves Product variation-to-Simple conversion handling
- Improves Translations across Bricks, gateways, checkout, licensing, and Pro admin
- Improves Dark mode and WordPress 7.1 media modal compatibility
Fixes
- Fixes PayPal zero-decimal currency checkout, subscriptions, renewals, and refunds
- Fixes Stripe zero-decimal currency subscription resync totals
- Fixes Mollie and Authorize.Net zero-decimal currency overcharging (Pro)
- Fixes Mollie one-off payment methods for store-managed subscriptions (Pro)
- Fixes PayPal renewal bill counts and failed renewal email delivery
- Fixes Duplicate charges from simultaneous admin mark-as-paid requests
- Fixes Subscription payment-state conflicts during renewals
- Fixes Transaction success updates leaving orders in invalid payment states
- Fixes Paddle reverse-charge refunds and tax-exclusive pricing (Pro)
- Fixes Refund dates missing from exports
- Fixes Card last-4 digits losing leading zeros
- Fixes Payment method names missing from non-cash gateway orders
- Fixes Renewal reminder emails mixing details between orders
- Fixes Payment-link re-pay totals with manual item discounts
- Fixes Cart status requests being rejected on some sites
- Fixes Bundle products dropping child items from cart and checkout
- Fixes Checkout errors from deleted order-bump products
- Fixes Empty checkout instructions caused by blank formatting
- Fixes Checkout block support for FluentCRM opt-in, Turnstile, and saved cards
- Fixes Tax price suffixes missing across product displays and widgets
- Fixes Show Relevant settings in block themes and quick view
- Fixes Long description preview not refreshing in the builder
- Fixes Variant SKU clearing and zero-value SKU handling
- Fixes Stripe 3D Secure loading overlay timing
- Fixes Bulk order delete permission checks
- Fixes Download link signing for unconfigured storage buckets
- Fixes Unverified PayPal notifications reaching extensions before verification
- Fixes Bricks filters, search presets, excluded products, and badge positioning
- Fixes Shop filter nested categories and parent checkbox selection
- Fixes Upgrade proration credits for quarterly and half-yearly plans
- Fixes Variation inventory controls showing when Stock Management is disabled
In case you missed
1.6.2 (Aug 20, 2026)
- Adds Data Export for orders, customers, subscriptions, and licenses in CSV or JSON.
- Adds WooCommerce Migration support for products, orders, customers, coupons, tax rates, and subscription management in FluentCart migrator
- Adds Export permissions by user role.
- Adds Transaction settlement time from payment providers.
- Adds Advanced filtering to the Order Sources report.
- Adds Ad click identifiers to the order UTM card.
- Adds Signed release fields to product license settings.
- Adds An opt-in tool to edit vendor IDs from the subscription page.
1.6.1 (Aug 11, 2026)
- FluentCart Divi Blocks add-on with 18 native Divi 5 Visual Builder modules and 8 ready-made layouts
- Saved Payment Methods for cards and PayPal accounts (Pro)
- Coupon hardening across storefront and admin orders
- Failed subscription renewal email notifications
1.6.0 (Jul 29, 2026)
- Store-Managed Subscription Engine with invoice-based renewals for any gateway
- Optional automatic renewal charging with saved payment methods on Stripe and PayPal
- Full subscription lifecycle management: pause, resume, skip, reactivate, edit, and charge controls
- Subscription emails for renewals, reminders, upcoming charges, payment failures, and past-due notices
- Coupon min/max spend basis settings and storefront polish
1.5.5 (Jul 17, 2026)
- PayPal payment flow improvements and subscription activation fixes
- Security hardening across Core and Pro
I’m Jewel, founder of FluentCart and CEO at WPManageNinja, the team behind Fluent Forms, Fluent CRM, Fluent Support, FluentLogs and a handful of other WordPress plugins. I have been writing WordPress code since 2009 and still think of myself as a developer first and an entrepreneur second. Most of what I write on this blog comes from arguments we have had inside the team about how to build software people can actually depend on.

Subscribe now






Leave a Reply