{"id":312809,"date":"2026-06-02T08:27:49","date_gmt":"2026-06-02T08:27:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/yuzool-commerce\/"},"modified":"2026-06-02T08:27:13","modified_gmt":"2026-06-02T08:27:13","slug":"yuzool-commerce","status":"publish","type":"plugin","link":"https:\/\/kn.wordpress.org\/plugins\/yuzool-commerce\/","author":23491695,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.8.6","stable_tag":"1.8.6","tested":"7.0","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Yuzool Commerce","header_author":"Yuzool","header_description":"Add a store in 60 seconds. Sell digital and simple physical products with Stripe links and optional cart checkout.","assets_banners_color":"","last_updated":"2026-06-02 08:27:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.yuzool.com\/commerce\/","header_author_uri":"https:\/\/www.yuzool.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.8.6":{"tag":"1.8.6","author":"yuzool","date":"2026-06-02 08:27:13"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"yuzool\/commerce-store":{"name":"yuzool\/commerce-store","title":"Yuzool Commerce Store"},"yuzool\/commerce-gate":{"name":"yuzool\/commerce-gate","title":"Yuzool Commerce Gate"}},"tagged_versions":["1.8.6"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[15107,5472,282,265419,5349],"plugin_category":[45],"plugin_contributors":[262735],"plugin_business_model":[],"class_list":["post-312809","plugin","type-plugin","status-publish","hentry","plugin_tags-buy-button","plugin_tags-digital-products","plugin_tags-ecommerce","plugin_tags-simple-store","plugin_tags-stripe","plugin_category-ecommerce","plugin_contributors-yuzool","plugin_committers-yuzool"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/yuzool-commerce.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Yuzool Commerce is built for people who want a simple store without heavyweight ecommerce setup.<\/p>\n\n<p>V1 scope:<\/p>\n\n<ul>\n<li>Digital products<\/li>\n<li>Simple physical items<\/li>\n<li>Stripe payment links<\/li>\n<\/ul>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Product list<\/li>\n<li>Pricing<\/li>\n<li>Buy button<\/li>\n<li>Checkout redirect to Stripe or PayPal<\/li>\n<li>Order notification email on success return<\/li>\n<li>Image\/video per product (URL or WordPress media URL)<\/li>\n<li>Optional cart mode with multi-item checkout<\/li>\n<li>Optional individual product pages<\/li>\n<li>Built-in SEO metadata + schema markup for store\/product output<\/li>\n<li>Built-in store health checks, config rollback snapshots, and orders CSV export<\/li>\n<li>Optional storefront fragment cache for faster repeated page views<\/li>\n<li>Per-product billing mode: one-time or subscription<\/li>\n<li>Subscription lifecycle capture via Stripe webhooks<\/li>\n<li>Entitlement shortcode gate for premium content<\/li>\n<li>Role-based and combined role+subscription gate modes<\/li>\n<li>Gutenberg visual gate block inserter<\/li>\n<li>Open-source core with optional upgrade path to hosted Yuzool tools<\/li>\n<\/ul>\n\n<p>No inventory engine, no tax engine, no shipping logic.<\/p>\n\n<p>Want done-for-you templates and hosted creator tooling?\n* Yuzool Widgets: <code>https:\/\/www.yuzool.com\/widgets\/<\/code><\/p>\n\n<p>Use shortcode:<\/p>\n\n<pre><code>[yuzool_commerce_store]\n<\/code><\/pre>\n\n<p>Gutenberg block:<\/p>\n\n<ul>\n<li><strong>Yuzool Commerce Store<\/strong><\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin can connect to external services when configured by the site owner.<\/p>\n\n<p>Stripe:\n* Service used: Stripe Payment Links (<code>https:\/\/stripe.com\/payments\/payment-links<\/code>)\n* Purpose: hosted checkout when visitors click Buy buttons.\n* Data sent and when: when a visitor clicks a Stripe buy link or cart checkout button, their browser is redirected to Stripe and\/or the site requests Stripe Checkout Session creation via Stripe API. Standard request data and checkout details entered on Stripe are sent to Stripe.\n* Stripe terms: <code>https:\/\/stripe.com\/legal<\/code>\n* Stripe privacy: <code>https:\/\/stripe.com\/privacy<\/code><\/p>\n\n<p>PayPal:\n* Service used: PayPal Payment Links (<code>https:\/\/www.paypal.com\/us\/business\/accept-payments\/payment-links<\/code>)\n* Purpose: hosted checkout when visitors use PayPal buy options.\n* Data sent and when: when a visitor clicks a PayPal checkout link, the browser connects directly to PayPal and sends normal request metadata and checkout details entered on PayPal.\n* PayPal terms: <code>https:\/\/www.paypal.com\/us\/legalhub\/paypal\/useragreement-full<\/code>\n* PayPal privacy: <code>https:\/\/www.paypal.com\/us\/legalhub\/privacy-full<\/code><\/p>\n\n<p>Yuzool:\n* Service used: Yuzool policy pages\/documentation links\n* Purpose: references in plugin UI\/readme.\n* Data sent and when: only when an admin or visitor clicks Yuzool links.\n* Yuzool policies: <code>https:\/\/www.yuzool.com\/policies<\/code><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>yuzool-commerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>Yuzool Commerce<\/strong> in WordPress admin.<\/li>\n<li>Open <strong>Yuzool Commerce<\/strong> in sidebar.<\/li>\n<li>Add products, prices, and Stripe links.<\/li>\n<li>Click <strong>Create Store Page in 60 Seconds<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20a%20full%20woocommerce%20replacement%3F\"><h3>Is this a full WooCommerce replacement?<\/h3><\/dt>\n<dd><p>No. It is intentionally focused and simple for quick store launches.<\/p><\/dd>\n<dt id=\"does%20it%20calculate%20taxes%20or%20shipping%3F\"><h3>Does it calculate taxes or shipping?<\/h3><\/dt>\n<dd><p>No. V1 intentionally excludes inventory, tax, and shipping logic.<\/p><\/dd>\n<dt id=\"how%20do%20order%20notifications%20work%3F\"><h3>How do order notifications work?<\/h3><\/dt>\n<dd><p>Configure your Stripe success URL to return to your site with signed params:\n    ?yuzoco_order=success&amp;yuzoco_product=PRODUCT_SLUG&amp;yuzoco_session=ORDER_ID&amp;yuzoco_nonce=...&amp;yuzoco_token=...<\/p>\n\n<p>When that URL is loaded, the plugin sends a notification email to the configured admin email.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.8.6<\/h4>\n\n<ul>\n<li>Removed legacy short-prefix AJAX\/admin action aliases so all registered actions use the unique <code>yuzoco_<\/code> prefix.<\/li>\n<li>Kept legacy storage\/query fallback reads without exposing short-prefix public hooks.<\/li>\n<\/ul>\n\n<h4>1.8.5<\/h4>\n\n<ul>\n<li>Added backward-compat aliases for legacy <code>yzc_*<\/code> AJAX\/admin actions.<\/li>\n<li>Added legacy option\/key migration and fallback reads from old <code>yzc_*<\/code> storage names.<\/li>\n<li>Added legacy query\/meta compatibility (<code>yzc_*<\/code>) alongside current <code>yuzoco_*<\/code> return flow.<\/li>\n<li>Added nonce verification fallback for legacy frontend nonce actions.<\/li>\n<\/ul>\n\n<h4>1.8.4<\/h4>\n\n<ul>\n<li>Added signed public return verification (nonce + one-time token) for storefront return query parameters.<\/li>\n<li>Hardened success-return order\/email flow by requiring verified return context.<\/li>\n<li>Migrated internal plugin\/action\/option prefixes from <code>yzc_<\/code> to <code>yuzoco_<\/code> for WordPress.org naming compliance.<\/li>\n<\/ul>\n\n<h4>1.8.3<\/h4>\n\n<ul>\n<li>Final sanitization hardening pass replacing remaining <code>FILTER_UNSAFE_RAW<\/code> input reads.<\/li>\n<li>Improved import\/cart JSON handling after input sanitization decode.<\/li>\n<\/ul>\n\n<h4>1.8.2<\/h4>\n\n<ul>\n<li>Moved admin and frontend JS\/CSS to proper <code>wp_enqueue_*<\/code> asset loading.<\/li>\n<li>Removed inline store\/admin script blocks in favor of enqueued files.<\/li>\n<li>Replaced remote Unsplash screenshot defaults with local-empty defaults.<\/li>\n<li>Hardened shortcode allow-path output handling with safe HTML filtering.<\/li>\n<\/ul>\n\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>Removed hardcoded demo Pro key requirement path and switched to open-source core behavior.<\/li>\n<li>Removed local Pro activation UI dependency from admin flow.<\/li>\n<li>Added clearer upgrade traffic path to <code>https:\/\/www.yuzool.com\/widgets\/<\/code>.<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Added subscription recovery analytics in admin (failed renewals, recovered renewals, recovery rate by product).<\/li>\n<li>Added Gutenberg visual gate block (<code>Yuzool Commerce Gate<\/code>) with role\/subscription mode controls and live preview.<\/li>\n<li>Added event-type persistence on webhook order rows for stronger subscription analytics accuracy.<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Added richer access-control modes in <code>yuzool_commerce_gate<\/code>: <code>subscription<\/code>, <code>role<\/code>, <code>both<\/code>, <code>either<\/code>.<\/li>\n<li>Added role-based gating support (<code>role=\"subscriber,editor\"<\/code>).<\/li>\n<li>Added gate helper UI in admin to generate embed-ready gated shortcodes.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Added entitlement enforcement shortcode: <code>[yuzool_commerce_gate product=\"slug\"]...[\/yuzool_commerce_gate]<\/code>.<\/li>\n<li>Added grace-period policy for <code>past_due<\/code> subscriptions.<\/li>\n<li>Added manual admin override UI for subscription access states (save\/delete).<\/li>\n<li>Added dunning email templates (subject\/body) configurable in settings.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Added dunning layer: auto email retry instructions on <code>invoice.payment_failed<\/code>.<\/li>\n<li>Added subscription access-state tracking (<code>active<\/code>, <code>past_due<\/code>, <code>canceled<\/code>) from webhook lifecycle events.<\/li>\n<li>Added admin panel section for subscription access states.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Added per-product billing mode (<code>one-time<\/code> \/ <code>subscription<\/code>) and interval display label.<\/li>\n<li>Added Stripe subscription checkout session mode for subscription carts.<\/li>\n<li>Added mixed-cart guardrail: blocks one-time + subscription items in the same checkout.<\/li>\n<li>Added automatic customer lookup from checkout session to improve billing-portal flow.<\/li>\n<li>Added recurring Stripe webhook lifecycle capture (<code>invoice.payment_succeeded<\/code>, <code>invoice.payment_failed<\/code>, <code>customer.subscription.created\/updated\/deleted<\/code>).<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Added lightweight uptime\/error log panel in admin for support triage.<\/li>\n<li>Added structured event logging for checkout, portal, and Stripe webhook flows.<\/li>\n<li>Added one-click log clearing action in admin.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added performance-first fragment cache (configurable TTL) for storefront rendering.<\/li>\n<li>Added automatic safe config snapshots (last 5) with one-click rollback.<\/li>\n<li>Added built-in store health checks to reduce setup and maintenance complexity.<\/li>\n<li>Added orders CSV export (no extra plugin needed).<\/li>\n<li>Added stricter save workflow method checks and automatic cache-version bump on setting changes\/import\/restore.<\/li>\n<li>Added lazy-loading images in storefront cards for better Core Web Vitals.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added privacy\/compliance controls: retention days, checkout privacy notice, and privacy policy URL.<\/li>\n<li>Added WordPress privacy exporter\/eraser integration for stored order data.<\/li>\n<li>Added automatic old-order purge based on retention period.<\/li>\n<li>Hardened request handling with explicit POST-method checks and checkout\/portal rate limiting.<\/li>\n<li>Hardened webhook verification with Stripe signature timestamp tolerance checks.<\/li>\n<li>Hardened config import sanitization for all core settings and products.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Added dual cart checkout mode to show both Stripe and PayPal checkout buttons.<\/li>\n<li>Hid demo Pro key from plugin admin UI (key-only activation remains supported).<\/li>\n<li>Added CI workflow for WordPress Plugin Check and WPCS on push\/PR.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added PayPal checkout options (per-product PayPal links + PayPal cart checkout URL mode).<\/li>\n<li>Added built-in SEO support: product-page title tuning, meta descriptions, Open Graph description, and schema.org ItemList\/Product JSON-LD.<\/li>\n<li>Added clearer testing links for generated individual product pages.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Replaced <code>mt_rand()<\/code> usage with WordPress-preferred <code>wp_rand()<\/code> for Plugin Check compliance.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added Gutenberg block wrapper for the storefront shortcode.<\/li>\n<li>Added Stripe-link host validation and stronger input hardening.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added customer portal session launcher (Stripe billing portal) from storefront.<\/li>\n<li>Added receipt retrieval link from Stripe checkout session on success returns.<\/li>\n<li>Added granular analytics: product conversion and coupon usage tables.<\/li>\n<li>Added email templates, digital delivery template fields, and resend-email action per order.<\/li>\n<li>Added one-click import\/export of store configuration JSON.<\/li>\n<li>Added direct test links for individual product pages in admin.<\/li>\n<li>Switched Pro activation to key-only mode (license server URL hidden).<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added product image\/video support (URL or WordPress media URL).<\/li>\n<li>Added optional cart mode for multi-item checkout using Stripe Checkout Sessions.<\/li>\n<li>Added optional individual product page generation (<code>\/product\/{slug}<\/code>).<\/li>\n<li>Added Stripe webhook verification endpoint and order history capture.<\/li>\n<li>Added license activation endpoint support for Pro mode.<\/li>\n<li>Added per-product success\/cancel URL overrides and tracking tags.<\/li>\n<li>Added coupon\/promotion support for Pro cart flows.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Free mode (3 products) and Pro mode gates.<\/li>\n<li>Stripe-link checkout redirect flow.<\/li>\n<li>Product list, pricing, buy buttons, and order notification flow.<\/li>\n<li>Optional Pro analytics and upsell blocks.<\/li>\n<\/ul>","raw_excerpt":"Add a store in 60 seconds. Sell digital and simple physical products with Stripe links, cart checkout, and individual product pages.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/312809","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=312809"}],"author":[{"embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/yuzool"}],"wp:attachment":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=312809"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=312809"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=312809"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=312809"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=312809"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=312809"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}