=== StoreEngine — Complete eCommerce Solution with Memberships, Licensing, Affiliates & More ===
Contributors: tusharimran, kodezen, academylms
Tags: ecommerce, ecommerce plugin, online store, license, membership
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.8.0
License: GPLv3
License URI: https://opensource.org/licenses/GPL-3.0

Sell digital & physical products with StoreEngine—a lightweight eCommerce solution with memberships, subscriptions, affiliates, coupons & licensing.

== Description ==

**StoreEngine – The Complete eCommerce Solution to Build and Grow Your Online Store With WordPress**

[StoreEngine](https://storeengine.pro) is the powerful, modern eCommerce plugin built for small business owners, course creators, and digital entrepreneurs who want a fast, all-in-one solution to sell digital and physical products, subscriptions, memberships, license, and more—without the slowdowns, plugin overload, or extra addon costs.

From courses and software to physical goods and recurring services, StoreEngine empowers you to run a full-featured, high-converting online store—all within a blazing-fast, Gutenberg-native experience.

## Check our overview video of StoreEngine 👇 ##
https://youtu.be/-u6iKuR8BwE


[StoreEngine](https://storeengine.pro) | [Docs](https://storeengine.pro/docs) | [Video Tutorials](https://www.youtube.com/@StoreEngine) | [Community](https://www.facebook.com/groups/1689587158579792) | [Public Roadmap](https://app.loopedin.io/storeengine)

### 🎯Who Is StoreEngine For? ###
* **Agencies:** Web design agencies are switching to StoreEngine because they no longer need to stack 5+ plugins for each client. Everything needed to run an online store—digital or physical—is built-in and lightweight, and their clients love it.

* **Solo Entrepreneurs:** Digital creators selling ebooks, courses, software, templates, or printables love StoreEngine’s built-in digital file delivery, easy-to-send invoice, license key system, and one-click checkout that works right out of the box.

* **Physical and Digital Product Sellers:** Small business owners use StoreEngine to manage inventory, enable fast shipping options, and boost sales with features like upsells, cross-sells, and auto-applied discounts—no extra plugins needed.

* **Subscription Businesses:** Coaches, SaaS founders, and membership site owners enjoy the flexible recurring payments, trial periods, upgrade/downgrade options, and dunning system—all integrated without third-party add-ons.

* **Course Creators:** Educators running online academies via [Academy LMS](https://academylms.net) choose StoreEngine for its native payment gateway, full course checkout integration, and support for bundles and installments. (StoreEngine + Academy LMS) = 🔥

* **Service Providers:** Local businesses offering services (like salons, consultants, and freelancers) use StoreEngine’s invoice generator, variable pricing, and custom checkout fields to sell packages, subscriptions, or one-time appointments.

* **Donation-Based Sites:** Nonprofits and campaign organizers use StoreEngine to accept donations with flexible pricing and recurring options—while also offering downloadable resources or physical thank-you gifts

* **Software & License-Based Businesses:** Developers and SaaS owners who sell downloadable products or apps rely on StoreEngine’s license key system to automate license creation, activation, and renewals. It helps manage digital rights, track usage, and deliver updates—without depending on third-party tools.


#### Digital Products, Subscriptions, and Services—Handled Natively ####
Other plugins aren’t made for creators or service providers. You’ll struggle with:

* Broken file links or no license key system
* No recurring billing without third-party tools
* Many of them required extra addons/features purchase for digital product, which mean extra cost
* Many of them need extra plugin for booking or invoicing system for services

**StoreEngine is creator-first:**

* Built-in digital file system
* license key management
* StoreEngine makes digital product selling easier than ever
* In build Invoice generator and service checkout flexibility

#### Growth Tools You Don’t Get Elsewhere—Unless You Stack More Plugins ####
Most plugins charge extra for features that actually help you grow. StoreEngine is different; it includes powerful tools without extra installs:

* Upsell & Cross-sell: Increase AOV by showing other products and purchase offers.
* Built-in Affiliate System: Turn users into promoters with StoreEngine’s native affiliate system. Track referrals, manage payouts, and grow faster
* Advanced Analytics Dashboard: See key performance data in one place—revenue trends, product performance, conversions, and more.
* Multi-Tier Pricing: Offer One-Time payment or Subscription model with free trial, and setup fee options for extra revenue.

### 💥What Makes StoreEngine Stand Out ###
StoreEngine isn’t just another eCommerce plugin—it’s built from the ground up to solve the biggest pain points store owners face with plugins. While other platforms rely heavily on extra plugins to cover essential features and charge high, StoreEngine packs everything inside a fast, secure, and modern core.

You get built-in checkout, product filtering, coupon forms, and cart management as native Gutenberg blocks—no coding needed. From login form to checkout button, every element is block-based and fully modular, giving you complete control over your store’s flow.

**Note: For the eCommerce block you need to install [aBlocks](https://wordpress.org/plugins/ablocks) Free—The modern Gutenberg website builder.**

And it doesn’t stop there.
StoreEngine includes business-critical features like Subscriptions, Memberships, Webhooks, Invoicing, Catalog Mode, Affiliate tracking, and Email notifications—activated with a single click. Stripe and PayPal integrations work out of the box. Everything just works—securely, smoothly, and without slowing down your site. And these features are completely free.

While others upsell you for basic features or charge hidden fees, StoreEngine keeps things simple and transparent. Whether you're selling digital products, managing a subscription business, or offering services, you’ll find the ecommerce plugin you need already waiting for you inside StoreEngine.

This isn’t just convenience—it’s a smarter, lighter, and future-ready way to build your online store with WordPress.
=== StoreEngine Features ===
We know a store owner needs many functions, which is why the StoreEngine developer team is working hard to add more advanced features. Here are some of the key features that StoreEngine users like most:

**✅ Sell Digital Products**
StoreEngine makes it simple to sell digital goods with secure delivery and instant access. Whether you’re distributing software, eBooks, music, or design assets, the platform ensures your files are protected and your customers get what they need instantly. You can also apply licensing or download restrictions for added control.

**✅ Physical Product Selling**
Manage your entire inventory of physical goods with robust SKU tracking, variant support, and stock status. From apparel and electronics to handmade goods, StoreEngine is built to support your product types. Integrated shipping tools make fulfillment smooth and efficient.

**✅ Tax Management**
Easily configure taxes per product, region, or entire store using flexible tax rules. Whether you’re managing VAT in the EU or sales tax in the US, StoreEngine keeps you compliant. You can display prices as tax-inclusive or exclusive depending on your preference.

**✅ Memberships & Access Control**
Build membership sites with gated content, exclusive resources, or private communities. StoreEngine enables one-time or recurring access control, perfect for online learning, content hubs, or SaaS-style platforms. No third-party tools needed—everything is native.

**✅ Affiliate Marketing Tools**
Turn your customers and partners into promoters with a built-in affiliate system. Track referrals, manage commissions, and grow your user base through organic word-of-mouth. It’s ideal for boosting visibility and conversions without increasing ad spend.

**✅ Coupons & Discounts**
Easily run promotional campaigns with built-in coupon and discount options. Offer flat-rate or percentage discounts, set expiration dates, and control usage limits. It’s perfect for seasonal promotions, loyalty rewards, or flash sales to drive urgency.

**✅ Academy LMS Integration**
Seamlessly connect with Academy LMS to sell online courses directly through StoreEngine. Manage course access, payments, and enrollments from a single dashboard. No need for additional plugins—it’s a native integration built for smooth operation.

**✅ Subscription Products**
Offer subscription-based services or products with flexible billing cycles. Whether it’s monthly memberships, yearly software plans, or custom periods, StoreEngine handles it all. Customers can manage upgrades, cancellations, and renewals easily.

**✅ Shipping Module**
StoreEngine’s shipping system supports multiple zones, flat-rate pricing, and real-time integrations with carriers. Set up region-specific rates or offer global shipping with full control. It’s ideal for both local deliveries and international fulfillment.

**✅ StoreEngine Invoice**
Automatically generate professional invoices for every order—no third-party tools needed. Customers can download their invoices instantly from their account area, and store owners can manage, resend, or print invoices with ease. Ideal for physical products, digital goods, services, or donations.

**✅ StoreEngine Upsell and Cross-Sell**
Increase your average order value with built-in upsell and cross-sell tools. Suggest related products before checkout, offer special add-ons after purchase, or create dynamic bundles—all from a single interface. No additional plugin or sales funnel tool required.

**✅ Webhooks**
Connect StoreEngine with your favorite tools or platforms using webhooks. Automatically send order data, customer details, or subscription events to CRMs, automation tools, or custom systems. It’s perfect for developers and businesses looking to extend workflows without limitations.

**✅ Email Notification**
StoreEngine sends beautifully formatted transactional emails for new orders, completed purchases, refunds, and more. Customize email content, branding, and triggers—all without writing a line of code. Keep your customers informed and your communication on-brand.

**✅ Migration Tool**
Switching from another platform? StoreEngine’s migration tool helps you import your products, customers, and orders from plugins like WooCommerce. It’s fast, accurate, and doesn’t break your layout or store setup—making replatforming stress-free.

**✅ PayPal**
Accept global payments securely with PayPal integration. StoreEngine connects directly to your PayPal Business account, enabling instant payments, refunds, and subscription billing. All transactions are handled through PayPal, ensuring PCI-DSS compliance without storing sensitive data.

**✅ Stripe**
Enable fast, secure credit/debit card payments with Stripe integration. StoreEngine supports one-time purchases, subscriptions, trial periods, and upgrades—fully powered by Stripe’s robust system. All payment data is processed by Stripe directly, keeping your store PCI-DSS compliant.

**✅ Catalog Mode**
Want to showcase products without selling them online? StoreEngine’s Catalog Mode hides checkout functionality, allowing you to display your items without pricing or purchase options. It’s perfect for wholesalers, product previews, or stores under construction.

**✅ CSV Import / Export Addon**
 Easily transfer store data in bulk with the CSV Import / Export addon. Quickly upload or download products, customers, and orders in a standardized format—perfect for backups, migrations, or batch updates. Save time managing large catalogs without manual edits.

**✅ Razorpay Payment Gateway**
 Accept payments from millions of customers across India with Razorpay integration. Support for credit/debit cards, UPI, net banking, and popular wallets ensures a smooth checkout experience. All transactions are processed securely through Razorpay, keeping your store PCI-DSS compliant.

**✅ Free Checkout (Zero Total)**
 Let customers complete an order without payment when the total is zero. Apply a 100% discount coupon, and StoreEngine skips the payment step—ideal for free trials, giveaways, or complimentary items. A quick, frictionless way to deliver products without charging a cent.

**✅ License Management**
Automate license creation, activation, and renewals for digital products. Control activations, manage expirations, and track usage—all from your StoreEngine dashboard. Perfect for software, SaaS, and digital file sellers who want secure, built-in license delivery without extra tools

=== 🤝 Join the thriving StoreEngine community today! ===
Dive into a thriving network of eCommerce entrepreneurs, course creators, developers, and online business experts by integrating StoreEngine with your platform. Be a part of our mission to empower seamless, scalable, and secure online selling experiences worldwide.

Stay connected for the latest updates and insights:

👉 [Our Official Facebook Page](https://www.facebook.com/storeengine)
👉 [Join our  Facebook Group](https://www.facebook.com/groups/1689587158579792)
👉 [Follow us on Twitter](https://x.com/StoreEngineTeam)
👉 [Connect in our LinkedIn](https://www.linkedin.com/showcase/storeengine/)
👉 [Our Official Support](https://kodezen.com/support/)
👉 [Video Tutorials](https://www.youtube.com/@StoreEngine/)


#### 📣 Want to shape the future of StoreEngine? Check out our [Roadmap](https://app.loopedin.io/storeengine) and suggest your ideas! ####

**🔔 Be Part of the Revolution**
StoreEngine is not just a plugin — it’s your partner in building modern eCommerce experiences. From creators and digital entrepreneurs to online educators and physical retailers, StoreEngine has a home for everyone.


== Screenshots ==


== Frequently Asked Questions ==

= Can I run a full eCommerce business using StoreEngine free version? =

Yes, StoreEngine gives you [real business features](https://storeengine.pro/features) like product subscriptions, upsells, discount coupons, order management, inventory control, analytics, and shipping zones—all come included for free. At the same time, most plugins force you to upgrade for these.
Suppose you need deeper features like license management (coming soon), trial days, or more advanced automation. In that case, you can grab our [affordable lifetime deal](https://storeengine.pro/pricing) to unlock everything and secure future updates forever.

= Does StoreEngine support both physical and digital products? =

Yes. StoreEngine is built for all types of products—physical items, downloadable files, subscriptions, and services. You can set delivery options, attach digital files, and even add setup fees for different types of products.
Whether you're selling a T-shirt, courses, or an eBook, it's all supported out of the box.


= Can I create product variations like size, color, or material? =

Absolutely. StoreEngine includes a full-featured variation system. Add as many options as you need—like size, color, material, or package—and set unique prices and images for each. No extra plugin or manual setup needed.

= Is StoreEngine actively developed, and can I request a feature? =

Yes. StoreEngine is under active development, with new features and improvements released regularly. You can track updates directly from your WordPress dashboard. Also, you can see our [public roadmap](https://app.loopedin.io/storeengine).
And yes—you can request new features! Our team considers user feedback seriously and adds requests to the public roadmap whenever possible.

= Does StoreEngine work with my existing WordPress theme? =

Yes. StoreEngine works with any WordPress theme. For the best experience and full layout control, we recommend using it with aBlocks—the free Gutenberg website builder

= What payment methods does StoreEngine support? =

StoreEngine supports Stripe, PayPal, Cash on Delivery, and more gateways coming soon. Payments are secure and fully integrated—no fees from us.

= Will StoreEngine slow down my website? =

Not at all. Unlike bloated plugins, StoreEngine is lightweight and optimized for performance. It’s built to run fast—even on shared hosting—without sacrificing features or stability. It avoids unnecessary scripts and database calls that typically slow down WooCommerce.

= Can I migrate from WooCommerce to StoreEngine without losing data? =

Yes. You can easily migrate from WooCommerce to StoreEngine anytime. StoreEngine's built-in migration features make it easier to migrate your customer data and products with just a few clicks. If you need help with this, our [dedicated support team](https://storeengine.pro/support) is always ready to help you.


== Changelog ==

= 1.8.0 - 20/04/2026 =

- Added: Multi-Currency native feature (addon) with currency switcher.
- Added: Product bundle feature.
- Added: Added activity & custom error logger.
- Fixed: Prevented the cart from being cleared when adding recurring or subscription products.
- Fixed: Added missing digital-auto-complete flag for subscription products.
- Fixed: Prevent subscription reactivation before payment.
- Fixed: Dashboard page detection (query var), fixed frontend order pagination.
- Fixed: Payment gateway scripts (js-sdk) loading on payment-method list page (#SE-486).
- Fixed: Cart show wrong coupon amount when tax applied (order amount/discount amount was not affected).
- Fixed: Review showing in comments.
- Improved: Review & product comment UI updated & cleanup redundant scss file.
- Fixed: review rating count when review/comment not approved (SE-504).
- Improved: Added drag-drop support in deployment upload button.
- Improved: Marked subscription as manual when payment-method (token) gets deleted by user.
- Improved: Add shorthand currency formatting and helper updates.
- Improved: Revamped checkout script. Added support for developing payment gateway as 3rd party plugin.
- Improved: Added price type to REST API error responses.
- Improved: Revamped variation builder, improving UIUX.
- Improved: Fixed price editor & improved previously used widget with UI improved.
- Improved: Updated cart quantity input templates to explicitly disable inputs at min/max boundaries.
- Improved: Improved cross-sell responsiveness on mobile (2 columns).
- Improved: Refactored `cart.js` with debounced change handlers for quantity inputs.
- Improved: Increased `remove_empty_spaces` hook priority.
- Improved: Store pre-calculated min/max prices for faster rendering.
- Improved: User dashboard sidebar & content section responsive UI.
- Improved: Improved user's `payment-method` list and `add-new-payment` UI.
- Fixed: Added js handler for `menu-compact` button and improved the compact menu UI.
- Fixed: Nonce error (request 403) on ajax login.
- Fixed: Pending status not showing on `Installment Plan` status dropdown after being selected.
- Fixed: Stripe recurring payment order context fatal error fixed.

= 1.7.6 - 18/03/2026 =

- Fixed: Resolved Stripe amount bug by converting amounts to cents correctly.
- Fixed: Prevented error in DOM utility `prop()` when elements array is empty.
- Added: Added `rounding_precision` to currency options.
- Improved: Included `localeConv` in frontend assets.
- Improved: Passed currency data to payment gateways.
- Added: Added new JS currency utils and formatting functions.

= 1.7.5 - 12/03/2026 =

- Added: Now coupon can be created for specific products (and prices).
- Improved: Added specific customer option for coupon restriction.
- Fixed: Stripe payment intent setup request for subscription payment was failing for renewal payment.
- Fixed: Automatic renewal payment orders now correctly transition to completed status.
- Fixed: Subscription renewal dates (next payment and last payment) not updating for already active subscriptions.
- Fixed: Subscription `_last_payment_date` was not updating.
- Fixed: Installment detail toggle was not working on single product page with single price.
- Improved: Simplified stripe checkout backend process.
- Improved: Stripe checkout "Save payment method" checkbox is now forced checked and read-only for subscription purchases.
- Improved: Enhanced core subscription logic for more reliable schedule recalculation.
- Improved: Order “Pay Now” will work with failed orders too.
- Improved: Subscription will show “Pay Now” if renewal failed for the subscriber to retry manual payment.
- Improved: Order & subscription list table shows short date to improve visibility of other column data.
- Improved: Page loading effects (loading animation) & other CSS animation/transition across all dashboard pages.
- Improved: Price editor UIUX.
- Improved: Both analytics dashboard date-range picker improved with homegrown package.
- Improved: All list-table UI replaced with very own homebrewed list-table package.
- Fixed: Variation price was not calculated accurately while the item being added to the cart.
- Fixed: Product description block editor preview.
- Improved: Added auto-save to product description block editor.
- Fixed: `view_cart` trigger updated with correct data & trigger within the Mini-Cart.
- Fixed: Customer select dropdown was only showing first 10 items.
- Improved: Added `gravatar` & full name in customer dropdown.
- Fixed: Cart quantity input buttons (inc/dec) concatenate number without calculating.
- Fixed: `Minimum amount` validation was not working while applying coupon.
- Fixed: Minor UI improvements.

= 1.7.4 - 01/03/2026 =

- Added: Product & User Specific coupon creation options.
- Improved: Set Stripe `capture_method` to `automatic` for more reliable payment capturing.
- Improved: Refactored Stripe error handling for better API error reporting.
- Fixed: Stripe subscription payments not being captured automatically.
- Fixed: Stripe card tokenization issue (saving card without consent for non-subscriptions).
- Fixed: Resolved PHP lint error in Stripe gateway.
- Improved: Refined subscription detection and order collection logic.
- Misc: Code cleanup and formatting improvements.
- Improved: Replaced full page reload with AJAX-based content refresh after coupon removal.
- Improved: Added new Analytics settings tab with contextual guidance and notice components.
- Improved: Refactored Currency Price component for cleaner formatting, added trimZeros(), improved filter hooks, and enhanced currency symbol handling.
- Improved: Standardized checkout redirect delay (850ms) across all payment gateways.
- Improved: Pixel integrations now initialize only when Analytics is enabled.
- Improved: Extracted pixel utilities into a dedicated helper file.
- Improved: Product price creation UI.
- Improved: Product description block editor support.
- Fixed: Added missing doActionAsync import.
- Fixed: Added missing filter hook name in Price component.
- Fixed: Corrected variation price display on cart page.
- Fixed: Resolved Mini Cart styling issue.
- Fixed: Stripe saved payment method (token) UI.
- Misc: Minor code cleanup and internal optimizations.

= 1.7.3 - 24/02/2026 =

- Improved: Admin product edit UIUX.
- Improved: All list table loading state.
- Fixed: Mini Cart loading nonce error with full-page-caching.
- Improved: Added composite index in order-item-meta table for performance.
- Improved: Update date util matching backend date format for deployment analytics.
- Fixed: Paddle product tax category was not saving.

= 1.7.2 - 05/02/2026 =

- Fixed: **Installment Plan** page link (addon page) was broken.
- Fixed: Some addon doc-page links (addon page) redirecting to 404 page.
- Improved: Addon search & filtering updated with more keywords & tags.
- Improved: Added missing output escaping for csv export.
- Fixed: Fatal error on 404 page when entire site is restricted.
- Fixed: Fatal error on restricted page when single product/price being used for membership (Access Group).
- Fixed: Course bundle integration was not setting bundle type.

= 1.7.1 - 25/01/2026 =

- Improved: Prevent direct access in php files.
- Fixed: Resolve WordPress Coding Standards violations across multiple files.
- Fixed: **Course Bundle** integration type check condition added.
- Fixed: RCP migration invalid sql query.
- Improved: Add proper `escaping` for output and `sanitization` for input.
- Improved: Implement query caching in admin dashboard api, improving page performance.
- Improved: Minor code quality improvements and optimizations.
- Improved: Page title translated with sub-page titles for plugin dashboard pages.
- Fixed: Loading preloading addon settings triggering translations loading too early error.

= 1.7.0 - 18/01/2026 =

- Added: **Google Tag** & **Meta Pixel** tracking support.
- Improved: Added hooks (in PHP & JS) & update checkout response data for pixel tracking support and refactor cart logic into cart.js.
- Improved: Currency render (admin dashboard) improved with support for country code.
- Fixed: Screen-reader-text for refund order amount was missing currency symbol.
- Improved: Button UI updated across templates for consistent styling.
- Improved: Removed redundant css rules.
- Updated: Translation comments & placeholders.
- Fixed: Commission ajax handlers for invalid order ID.
- Fixed: Fixed tutor-booking integration on checkout.
- Improved: Price rendering for membership (locked) content.

= 1.6.9 - 07/01/2026 =

- Added: UI support for **Installment Plan** add-on.
- Improved: Request data sanitizer improved in AbstractRequestHandler, improving performance. This update also allowing nested (repeated field) sanitization seamlessly.
- Improved: Abstract integration class revamped with support for handling of different order types directly, improving checkout process performance.
- Improved: Add-to-cart shortcode extra whitespace removed.
- Improved: Add-to-cart quantity input element improved across single-product & cart page.
- Fixed: Price braking into multiple line in cart page.
- Improved: Update button UI, reduce unnecessary styles.
- Improved: Add-to-cart redirect updated based on product-price type.
- Added: Taxable attribute in CartItem object.
- Improved: Refactor common utilities.
- Fixed: JS dom utility fixed (`this` args).
- Added: Refactor cart tax items into separate template.
- Improved: Added support for navigation in Addon page filter tabs.

= 1.6.8 - 25/12/2025 =

- Improved: Addon settings loading with abstract class, unified addon settings management.
- Improved: Dashboard page geo map replaced and added orders table.
- Improved: Analytics page geo map replaced and table css fixed.
- Fixed: Multiple price delete crashing product editor.
- Fixed: Cart Block Template was showing broken block codes in site-editor.
- Fixed: Default login redirect value settings fixed for login shortcode.
- Fixed: Checkout payment button vanishes after address-field changes.

= 1.6.7 - 09/12/2025 =

- Improved: Refactor addon loading and improve autoloader.
- Improved: Updated deployment management UI components and styles for consistency and improved user experience.
- Improved: Enhanced error handling in customer API to properly check user existence.
- Fixed: Added refund methods to Subscription class to calculate subscription refunds from related orders, fixing refund error with subscription orders.
- Fixed: Payment gateway failing in order-pay endpoint for pending orders.
- Improved: Minor code cleanups and type improvements.
- Improved: Update refund modal notices for admin, clarifying how manual/api-refunds get processed.
- Improved: Refund api error handling updated.
- Fixed: Admin notice UI conflict with alert dialog UI styles.
- Improved: Added admin-notice, informing admin user about `Gutenberg` blocks available through aBlocks plugin.
- Fixed: Admin notices aren't showing unless admin visits settings page.
- Fixed: Coupon calculation with subscription product.
- Fixed: Products editor variation table tooltip visibility fixed.
- Improved: Attribute terms modal footer spacing fixed.
- Improved: Affiliates Modal UI updated.
- Fixed: Affiliate bulk inactive blank ajax response fixed.
- Fixed: page blank issue for fetch items by id.
- Improved: Added search in URL params for addons search, allows filtering addons with direct link.
- Fixed: Subscription order info (thank-you page) braking UI with extra closing `div` tag.

= 1.6.6 - 03/12/2025 =

- Fixed: Dashboard breaking issue after updating WordPress core to version 6.9.
- Updated: Tested up to WordPress 6.9.

= 1.6.5 - 02/12/2025 =

- Fixed: Fixed data format prediction in AbstractEntity for float (double) value with decimal parts.
- Improved: Price field sanitization & validation revamped with correct datatype for price & compare-price field.
- Added: Ajax validation added for missing Price name.
- Improved: Recent orders UI updated.
- Improved: Tools page menu subtitle/descriptions added.
- Added: Subscription support added in **PayPal** payment gateway.
- Fixed: **PayPal** buttons aren't rendering after `refresh-checkout` form event.
- Fixed: Removed `refund` support entry from Paddle as not implemented.
- Fixed: Error while sending request to `settings/verify-payment-gateways` endpoint due to wrong argument generate at runtime.
- Improved: Removed **Stripe** dependency notice for **Subscription Addon**.
- Fixed: Showing error on store-dashboard (and in order details page) for disabled gateway.
- Improved: Updated no-payment-gateway available message.
- Improved: Added no-payment-gateway available for subscription.
- Improved: Frontend notice UI spacing, button & close-icon styling updated.
- Added: Core UI for **Order Bump** addon implemented.

= 1.6.4 - 24/11/2025 =

- Added: Setup wizard introduce for new installation.
- Improved: Updated installer to run on updates improving database migration.
- Added: New color settings for `subtitle_color` and `input_text_color` introduced.
- Improved: Color picker component style with clean color preview.
- Added: Added UI support for copying download link for latest version of free item.
- Added: Set paid status to refunded on full refund.
- Fixed: Using correct action hook for user's `total purchase` update  on refund.
- Improved: Analyzing search input and generating query more accurately to filter orders.
- Fixed: Reading refund metadata was failing braking refund info tooltip in order editor.
- Improve: Order editor refund tooltip UI.
- Updated: Added check for `refunded` payment status in integration's `unpaid-order-handler`.
- Fixed: `COD` payment method availability logics revamped with proper support for shipping
- Added: Selective shipping zone settings for `COD` method.
- Added: Now `COD` payment can be enabled for virtual product too.
- Added: Admin notice when `COD` is enabled without any shipping method configured or without enabled for virtual products.
- Fixed: Replaced `MaxMind Geolocation Integration` documentation with correct support article.
- Improved: Refresh payment methods on checkout page.
- Improved: Tax display type check functions moved to `TaxUtils` so other module can access without initializing cart.

= 1.6.3 - 17/11/2025 =

- Fixed: Checkout failing with fatal error due to mPDF package dependency.
- Updated: Translation template & translators comments updated.

= 1.6.2 - 16/11/2025 =

- Fixed: Add-to-cart failing saving cart data on db.
- Updated: update add-to-cart error messages.
- Fixed: Error checkout (Undefined property: stdClass::$instance_id) with physical products.
- Fixed: Admin dashboard (order list table) error if item with shipping on the list.
- Improved: remove legacy code and deprecated doc-blocks, improving error handling.
- Fixed: Dashboard (analytics) map tooltip.

= 1.6.1 - 14/11/2025 =

- Fixed: v1.6.0 SVN release conflict issue solved.

= 1.6.0 - 13/11/2025 =

- Improved: Admin settings navigation updated.
- Improved: Core update for to support pro features.
- Fixed: Dashboard analytics UI issues.
- Improved: Updated coupon editor sidebar UI.
- Improved: Customer list-table UI updated.
- Fixed: Fatal error on StoreEngine order info shortcode.
- Improved: Update single page template loading, improving page performance.
- Improved: AcademyLMS course pricing card ui.
- Added: `storeengine_single_product_gallery` shortcode added.
- Fixed: Product gallery shortcode bug.
- Fixed: Mini-cart icon's color issue with astra theme.
- Added: `storeengine_single_product_summary` shortcode added.
- Added: `storeengine_single_product_description` shortcode added.
- Added: `storeengine_single_product_comments` shortcode added.
- Added: `storeengine_single_product_reviews` shortcode added.
- Added: `storeengine_single_product_cart_notice` shortcode added.
- Improved: `storeengine_add_to_cart` shortcode.

= 1.5.7 - 06/11/2025 =

- Fixed: PayPal SDK error (`Expected currency from order api call to be USD, got CURRENCY. Please ensure you are passing currency=CURRENCY to the sdk`) resolved.
- Improved: Save PayPal fees data in order meta.
- Added: MaxMind GeoIP (GeoLite2-country) integration added.
- Improved: Customer default country setting based on store-base address or geo-ip country.
- Improved: Shipping cost calculation based on customer address on cart page.
- Improved: New UI & analytics data for the Dashboard.
- Fixed: Hardcoded database prefixed updated.

= 1.5.6 - 23/10/2025 =

- Added: Software (plugin) analytics dashboard.
- Fixed: Address getting saved as JSON encoded string, which was braking Unicode/latin characters.
- Fixed: Address form UI broken, col-6 (column 1/2) was rendering into 2 separate row.
- Fixed: Changelog typos.
- Updated: Translation template file (`.pot`) updated.

= 1.5.5 - 09/10/2025 =

- Added: Separate coupon usage limit field added to give admin more control over coupon usage.
- Fixed: Order editor broken with js error while rending purchase table item.
- Fixed: Order pay feature was crashing when using with COD.
- Fixed: WooCommerce migration tool coupon data migration fixed.
- Fixed: Select components options prop-type schema updated.
- Fixed: Template override was not working as intended and showing cart template on any page if not set properly.
- Fixed: Course bundle loop (archive page) price display.
- Fixed: Per-Customer coupon usage limit was not working.
- Fixed: Fatal error braking store-shop page when entire-site protected via membership addon.
- Fixed: Membership addon site-restriction brakes shop-page.
- Fixed: Membership addon site-restriction brakes archive UI.
- Improved: Refactored order-pay conditions, improving error handling.
- Improved: Added edit with **WordPress Editor** in product list-table actions.
- Improve: Shortcode added for rendering restricted-page-template for membership site-restriction.
- Improved: Coupon UI css fixed.
- Improved: Flush permalink settings upon activation/deactivation of membership add-ons.

= 1.5.4 - 01/10/2025 =

- Added: Mini cart feature added.
- Improved: Updated site activation list table columns.
- Fixed: User dashboard logout menu was just redirecting user back to user-dashboard, without logging out the user.
- Improved: Added custom attribute support via args param for icon-render template tag (helper) function.
- Improved: Renamed pagination functions (AbstractCollection) and code improved readability.
- Fixed: Order editor purchase table item meta as encoded html (backend returns item metadata as formatted html, not as plain text)
- Fixed: Undefined function in price formatting utility method.
- Improved: Order editor purchase table column sizes updated, improving readability for admin user.
- Fixed: Start course button was not displaying.
- Fixed: Free checkout was not working if no payment methods are enabled.
- Added: Improved UI & and added deployment options for free/pro split.

= 1.5.3 - 25/09/2025 =

- Fixed: Academy LMS Course Bundle compatibility issue

= 1.5.2 - 18/09/2025 =

- Added: Direct checkout via parameterized URL feature added. This will allow admin to redirect user to the checkout page with specific product with coupon applied (optional). E.g. `http://example.com/store-checkout/?product_id=34&price_id=4&coupon=hello`
- Added: Admin can now hide specific price from the frontend. This doesn't restrict the price, but just don't show in the frontend and allows admin to generate checkout URL.
- Added: Added Price display settings for archive page (product with multiple price). This adds the ability to show prices as dropdown (default) and as price range to improve UI/UX.
- Added: New user registration confirmation email notification added.
- Added: URL presigner class added to create secure signed URL with expire time with rotating encryption keys. This allows StoreEngine to generate secure pre-signed URL for public use.
- Improved: Update `.htaccess` for protected directory with support for apache v2.4 with backward compatibility for apache v2.2
- Improved: Updated datetime conversion in frontend (fix time tag datetime attribute formatting).
- Improved: Remove duplicate queries & implement WP object cache to improve performance.
- Improved: Collection result mapping and query handling for better data consistency
- Improved: Updated collection result-mapping logic across all collection classes
- Improved: Updated parent prime-cache mechanism for better entity caching alignment, and no steal data remain cached.
- Improved: File download includes some metadata (when available) for better UX, including file name, file size, etc. Deprecated: Order-collection constructor $type argument (use where method with ['key' => 'type', 'value' => 'order or refund'] instead)
- Improved: `storeengine_add_to_cart` shortcode improved with dummy data improving admin UX. Also, this can be now used with loop/archive query with `global $product` set.
- Updated: Collection query classes across multiple addons (affiliate, CSV, subscription), updating where param with correct type and removed newly deprecated type argument.
- Updated: Removed order list-table horizontal ellipsis (`…`) if payment title is missing.
- Fixed: Secure directory not protected with empty index.html & `.htaccess`.
- Fixed: Secure directory notice doc link.
- Fixed: Order datetime in order-thank-you-page & order-list page (admin-dashboard).
- Fixed: Consistent datetime calculation in backed.
- Fixed: Infinite loop issue when other plugins use `wp_redirect( wp_login_url() );` for non-logged-in users.
- Fixed: Set `new_order_email_sent` flag after order confirmation being sent.
- Fixed: Temporarily disabled faulty prime-cache functionality to prevent broken/unfinished data caching
- Fixed: Course archive page (loop page) price display type issue with enrolled courses.
- Fixed: Remove 2x loading animation after creating new price.
- Fixed: Payment method save bug (triggering save on all other item).

= 1.5.1 - 11/09/2025 =

- Fixed: CSV data import / export security bugs
- Fixed: Razorpay checkout.js conflict issue

= 1.5.0 - 21/08/2025 =

- Added: Added support for licensed software download
- Added: Paddle payment gateway support added (as addon).
- Added: Order pay feature added, user can now pay for an unpaid pending order/subscription.
- Improved: CSV import crashing on large data fixed and improved progress calculation.
- Improved: Course membership `add-to-cart` refactored.
- Improved: Added missing referral URL (with tracking parameter & code) in user dashboard affiliate page.
- Fixed: JavaScript type error fixed in AcademyLMS course page.
- Fixed: Invalid registration url on login page.
- Fixed: User's course access for purchased membership. Added migration for old user-meta data removal.

= 1.4.0 - 12/08/2025 =

- Added: New CSV Import / Export addon
- Added: New Payment method Razorpay addon
- Added: Add free checkout(zero) support.
- Improved: Downloadable product support with subscription based payment
- Fixed: Fix terms returning error during migration.
- Fixed: Fix product gallery ux issue.

= 1.3.3 - 31/07/2025 =

- Improved: Updated PayPal and Stripe addons  improving consistency and null safety.
- Improved: Enhanced asset loading by separating `block-editor-assets` loading.
- Improved: Added missing indexes, and normalizes field definitions for consistency across tables.
- Fixed: Removed extra border around access-group *Purchase Info* sidebar.
- Fixed: Eliminates explicit `COLLATE utf8mb4_unicode_520_ci` from all table and column definitions in database migration scripts, standardizing schema creation and improving compatibility.
- Fixed: Error product migration fails on attribute term error.
- Fixed: Guest checkout login link fixed.
- Fixed: Redirect user to proper redirect_to parameter after successful login.
- Fixed: Static price symbol replaced with current price symbol.
- Fixed: Refactor cart access and add block editor asset support, fixing fatal error in customizer preview.

= 1.3.2 - 22/07/2025 =

- Added: Order details view.
- Added: Subscription details view & action buttons.
- Added: Subscription cancellation.
- Added: Admin can add/remove order note.
- Added: Cart & checkout settings tab.
- Improved: removed `CONCAT/GROUP_CONCAT` & `JSON_*` functions from SQL for better compatibility.
- Improved: Register payment gateway namespace for autoload directly with root namespace.
- Improved: Admin can now set default country for checkout billing/shipping address if user's address not saved (e.g. new customer)
- Improved: Settings to toggle floating cart icon allow admin to enable/disable floating cart.
- Improved: Added default icon element if gateway class does not provide icon url.
- Improved: Price create, update and delete AJAX handlers now using Price entity class, replacing deprecated price-model class.
- Improved: Added hook for flushing cache group on custom meta added, updated or deleted registered by StoreEngine.
- Improved: Empty notice added on cart list block.
- Fixed: Object cache not flushing for collection query class.
- Fixed: Variation UI in product-editor updated, fixing tooltip & variation name.
- Fixed: Using `raw` content & title for product editor, fixing embedded content markup saving as content & title and braking single product page.
- Fixed: Gutenberg editor CSS conflicts.
- Fixed: Frontend dashboard login form not showing.
- Fixed: Namespace & hook typo issue fixed.
- Fixed: customer update ajax payload fixed.
- Fixed: Added missing doc url for migration addon.
- Fixed: Fatal error for bad data from join query and data type on variation attributes

= 1.3.1 - 14/07/2025 =

- Fixed: Fatal error upon order created from admin dashboard.
- Improved: Update lookup table after add/remove order item from admin dashboard.
- Fixed: Error creating orders table due to table index length limitation.
- Improved: Added index in orders meta table for performance.
- Improved: Added support for shortcode preview (dummy data) for `aBlocks`.

= 1.3.0 - 13/07/2025 =

- Added: Migration addon added (WooCommerce to StoreEngine data migration)
- Added: Order invoice pdf addon.
- Added: Product add-to-cart shortcode `[storeengine_add_to_cart]`.
- Added: WebHook event listener for admin order create event.
- Added: WebHook event for restored order.
- Improved: Update order webhook payload handling fatal error fallback.
- Improved: Trash & restore order, trash order is no longer editable until restored.
- Improved: Sanitized WebHook delivery url properly before save.
- Improved: Log functionality added in WebHook for debugging.
- Improved: Attribute slug validation & sanitization updated, shorten attribute taxonomy prefix.
- Fixed: Remove usage of deprecated/removed order method from webhook and email class.
- Fixed: Order delete webhook was triggering fatal error.
- Fixed: Remove usage of deprecated/removed order method from webhook and email class.
- Fixed: Order delete WebHook was triggering fatal error.
- Fixed: Refresh order list table on restore order.
- Fixed: Variation status update rest api user permission fixed.
- Fixed: Attribute order by.
- Fixed: Attribute taxonomy slug max length error fixed.
- Fixed: Typo & textdomain fixed.
- Fixed: Attributes list table pagination was not working.
- Fixed: Attributes list table search & per-page reset.
- Fixed: Products shipping option ui issue.
- Fixed: Add-to-cart was not working from membership protected content page.
- Fixed: Membership protected content page broken layout.

= 1.2.2 - 03/07/2025 =

- Added: Admin notice feature that renders both in react and native admin notice.
- Added: Catalog mode feature added via addons interface.
- Improved: Optimize settings update handler (handler), with support for addon settings.
- Improved: Added new hooks for pricing template, product quantity-input and add-to-cart buttons.
- Improved: Made FloatingCart class a singleton, adding ability to use remove_action() on actions added from it.
- Improved: Customer's total spent calculation (total purchase minus order refund).
- Improved: Frontend user dashboard UI updated.
- Improved: Tax general settings Rounding option UI updated.
- Fixed: Settings save (submit) button glitch.
- Fixed: Tax tab glitch (on reload).
- Fixed: Request handler data sanitization fixed, added support for string[] data.
- Fixed: Customer data (api response) empty when contains trashed orders.
- Fixed: Commission order id ajax response removing trashed orders.
- Fixed: Order cancellation logic fixed for COD payment.
- Fixed: Access Group list table column data.

= 1.2.1 - 24/06/2025 =

- Added: FSE theme product archive sidebar settings not worked issue.
- Added: Frontend Dashboard redirect setting.
- Fixed: Attribute Create modal close issue.
- Fixed: Allow from empty form field to pass-through sanitizer and populate sanitize payload, allowing saving empty field and zero (0) value.
- Fixed: Subscription Price details not showing issue.
- Fixed: Subscription Editor Status update not working.
- Fixed: Admin List Table UI issue.
- Fixed: Academy Course Purchase UI issue.
- Fixed: Membership addon payment issue.
- Fixed: Subscription based price issue.

= 1.2.0 - 19/06/2025 =

- Update: Revamped Academy LMS & StoreEngine Membership addon Integration
- Fixed: Cart crashing with invalid price id price deleted after user added item in their cart.
- Fixed: Order editor coupon add/remove bug, duplicating coupon item if coupon contains uppercase characters.
- Fixed: Updated static link for registration & password reset.
- Fixed: Dashboard login form responsive issue.
- Fixed: Rest API permission for other admin users.
- Fixed: Added default coupon discount (10%) for creating new coupon.
- Fixed: PayPal api error when order total is greater than or equal to 1000.
- Fixed: PayPal zero decimal currency order total amount formatting.
- Fixed: Set cart hash cookie only when necessary (adding product to cart), improving server side caching and page loading performance.
- Improved: Academy LMS integration new UI.
- Added: API permalink helper function handling pretty & plain permalink.
- Fixed: API Permalink issues across react reducer & actions.
- Fixed: Frontend dashboard order query fixed, was causing dashboard to crash if there's any trashed Order for the logged-in user.
- Fixed: Stripe payment bug.
- Improved: Stripe payment gateway class error handling.
- Improved: Product review & comment error response.
- Fixed: Subscription list table navigation.

= 1.1.1 - 05/06/2025 =

* Added: Access Group Buy button inject.
* Improvement: Product Integration Logic.
* Improvement: Product Integration Subscription price disable for Academy LMS Course Bundle and Booking.
* Improvement: Membership Shortcode UI Improved.
* Fixed: Academy Course Bundle Integration.
* Fixed: Single Price add to cart not working.

= 1.1.0 - 04/06/2025 =

* Improvement: Product price UI improved with support for subscription information.
* Fixed: Console error for faulty proptypes fixed.
* Fixed: Price ajax action.
* Improvement: Price output for subscription (show fee).
* Added: Added support for trial subscription through Stripe addon.
* Fixed: Add saved payment php error.
* Fixed: Subscription status update (activation).
* Improvement: Update stripe payment validation.
* Fixed: Update Stripe addon error messages.
* Improvement: Cache get_page_by_title query.
* Fixed: Rating `0.5` css class.
* Fixed: Subscription date calculation fixed.
* Fixed: Backward compatibility for old duration type (plural forms) & setup-fee type.
* Fixed: Subscription scheduler (renewal-payment) fixed.
* Added: Stripe addon hook for renewal order auto payment.
* Fixed: Check if header is sent before setting cookie.
* Fixed: Order version property fixed.
* Improvement: Remove setting version from existing subscription to renewal orders.
* Fixed: Subscription list output sort by id.
* Fixed: Entity object read-meta-data read-flag was not setting properly for Order object.
* Fixed: Order status pending in frontend-dashboard.
* Fixed: Subscription status update on order marked as paid recursively fixed.
* Improvement: Convert Order note date time zone to current users local time zone.
* Improvement: Remove order notes for related order (subscription api).
* Improvement: Update cart table layout.
* Fixed: Disallow subscription (cart item) qty update (not supported).
* Improvement: Allow disabling qty input field.
* Improvement: Allow 3rd party plugin/theme to filter cart item quantity form args.
* Fixed: Category editor bug while creating new category fixed.
* Fixed: Order detail date formatting updated.
* Fixed: Customer details Order Status UI fixed.
* Improvement: Improved membership (access-group) with subscription status transition.
* Improvement: Improved email template/settings editor state handling.
* Fixed: Show correct refund amount in email notification.
* Improvement: Refactor css for faster rendering.
* Improvement: Improved product filter widgets (archive sidebar widgets).
* Fixed: Attribute search, navigation, page blank and delete issue fixed.
* Fixed: WebHook list-table fixed.
* Fixed: Commission and payout created date issue fixed.
* Improvement: Allow 3rd party plugin to hook into integration runner instance.
* Improvement: Added subscription data in admin customer details page.
* Fixed: Product editor gallery button UI fixed.
* Fixed: Dashboard (analytics) total sales, total refund & gross sales fixed.
* Improvement: Updated placeholder image alt attribute.
* Improvement: Update top product list, include total net revenue.
* Fixed: Top product featured image.
* Improvement: Update top customer list, include customer avatar.
* Fixed: Top customer total spent value type.
* Fixed: Full refund invalid amount fixed.
* Improvement: Subscription table UI update.
* Fixed: Admin dashboard orders pagination.
* Fixed: Admin dashboard payments pagination.
* Fixed: Frontend dashboard order pagination.
* Fixed: Payment `can-refund` logic.
* Fixed: Frontend order list table status ui.
* Improvement: Convert time output to user's timezone.
* Fixed: Create Order page brake due to order by query error.
* Fixed: apply coupon undefined index error.
* Fixed: Checkout page `Email me with news and offers` checkbox spacing fixed.
* Fixed: Product sorting settings typo fixed.
* Improvement: Cart page UI revamped & improved.
* Improvement: Hide subscription price items from add item modal.
* Fixed: Fixed physical (subscription) product add to cart error (partially supported).
* Added: Display price on course-bundle page.
* Improvement: Remove course-bundle access when order status is unpaid.

[See full changelog](https://plugins.trac.wordpress.org/browser/storeengine/trunk/changelog.txt).

== Upgrade Notice ==
