{"id":361072,"date":"2026-09-01T15:42:48","date_gmt":"2026-09-01T15:42:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/3dl-central-checkout-for-woocommerce\/"},"modified":"2026-09-01T15:42:17","modified_gmt":"2026-09-01T15:42:17","slug":"3dl-central-checkout-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/3dl-central-checkout-for-woocommerce\/","author":23134573,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.9.12","stable_tag":"0.9.12","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"3DL Central Checkout for WooCommerce","header_author":"3DragonLabs","header_description":"Free central cart and checkout for WooCommerce Multisite. Send products from source stores into one checkout on a main store.","assets_banners_color":"92a6b8","last_updated":"2026-09-01 15:42:17","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/3dragonlabs.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":45,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.9.12":{"tag":"0.9.12","author":"halogen11","date":"2026-09-01 15:42:17","revision":3676441}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3676450,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3676450,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3676450,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3676450,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.9.12"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[278684,278683,441,239819,286],"plugin_category":[45,51],"plugin_contributors":[250375],"plugin_business_model":[],"class_list":["post-361072","plugin","type-plugin","status-publish","hentry","plugin_tags-central-checkout","plugin_tags-global-cart","plugin_tags-multisite","plugin_tags-shared-cart","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-multisite","plugin_contributors-halogen11","plugin_committers-halogen11"],"banners":{"banner":"https:\/\/ps.w.org\/3dl-central-checkout-for-woocommerce\/assets\/banner-772x250.png?rev=3676450","banner_2x":"https:\/\/ps.w.org\/3dl-central-checkout-for-woocommerce\/assets\/banner-1544x500.png?rev=3676450","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/3dl-central-checkout-for-woocommerce\/assets\/icon-128x128.png?rev=3676450","icon_2x":"https:\/\/ps.w.org\/3dl-central-checkout-for-woocommerce\/assets\/icon-256x256.png?rev=3676450","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>3DL Central Checkout for WooCommerce is a free, simple bridge between WooCommerce stores in one WordPress Multisite network.<\/p>\n\n<p>Choose one site as the <strong>Main store<\/strong>. It owns the real WooCommerce cart, checkout and final order. Other sites become <strong>Source stores<\/strong>. When a customer adds a product on a Source store, FREE securely transfers that product, selected variation and requested quantity to the Main store.<\/p>\n\n<p>The customer can then continue browsing the Source store or open the central cart immediately. Products from the Main store and multiple Source stores can be combined in one cart and completed through one checkout on the Main store.<\/p>\n\n<p>The free plugin is intentionally focused on this core use case. It is a working central-cart solution and a simple way to test the architecture before choosing the full PRO edition.<\/p>\n\n<h3>How it works<\/h3>\n\n<ol>\n<li>A customer adds a simple or variable product on a Source store.<\/li>\n<li>FREE sends a signed product transfer to the Main store.<\/li>\n<li>The product becomes a remote line item in the Main-store WooCommerce cart.<\/li>\n<li>The Main store owns the real cart, checkout and final WooCommerce order.<\/li>\n<\/ol>\n\n<p>Before checkout, FREE asks the Source store to check the product again for availability, purchasability, price, currency, units and requested stock quantity.<\/p>\n\n<p>Source-store cart badges may show a <strong>read-only<\/strong> count from the Main-store cart when that count is available. Cart and checkout links on Source stores lead to the Main store. FREE does not create a second editable cart on every Source store.<\/p>\n\n<p>The transfer is signed with HMAC-SHA256. The free plugin does not contact 3DragonLabs or any other third-party service during normal operation. Communication happens only between the WordPress sites configured by the administrator.<\/p>\n\n<h3>What FREE includes<\/h3>\n\n<ul>\n<li>One central WooCommerce cart, checkout and final order on the Main store.<\/li>\n<li>One-way transfer of simple products, variable products, selected variations and quantities from Source stores.<\/li>\n<li>Products from the Main store and multiple Source stores in one central cart.<\/li>\n<li>A second availability, price, currency, unit and stock check before checkout.<\/li>\n<li>A configurable return to the Source store after adding a product, or immediate opening of the central cart.<\/li>\n<li>Read-only Source-store cart indication when the Main-cart count is available.<\/li>\n<li>HMAC-SHA256 signed transfers and a trusted Source-store URL allow-list.<\/li>\n<li>Source URL and original product ID kept with remote order items on the Main store.<\/li>\n<\/ul>\n\n<h3>Important limitation of FREE<\/h3>\n\n<p>FREE is <strong>not<\/strong> a live cross-store inventory and order synchronization system.<\/p>\n\n<ul>\n<li>The real WooCommerce cart exists only on the Main store.<\/li>\n<li>A Source-store badge is only informational; it is not a second local cart.<\/li>\n<li>Source stock is checked before checkout, but FREE does not reserve or deduct that stock after the order.<\/li>\n<li>FREE does not create an order record on the Source store.<\/li>\n<li>FREE does not synchronize refunds, restocking or order statuses back to Source stores.<\/li>\n<li>FREE does not provide live Source-store cart editing, event logs, CSV exports, repair tools or advanced diagnostics.<\/li>\n<\/ul>\n\n<p>Because Source stock is not reserved or deducted, FREE is best for testing, unlimited-stock products, stores that do not use Source-side stock management, or setups where inventory and order synchronization is handled elsewhere.<\/p>\n\n<h3>FREE and PRO<\/h3>\n\n<p>FREE provides the central-cart foundation: a one-way product transfer into one Main-store cart and one Main-store checkout.<\/p>\n\n<p>3DL Central Checkout PRO is the production synchronization edition. PRO adds a live editable cart across stores, Source-stock deduction and restocking, Source-side order records, refund and order-status synchronization, event logs, diagnostics and maintenance tools.<\/p>\n\n<p>If the Source stores must remain operationally synchronized after an order, use 3DL Central Checkout PRO from 3DragonLabs.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress Multisite.<\/li>\n<li>WooCommerce active on the Main store and every participating Source store.<\/li>\n<li>The same plugin version installed on all participating stores is recommended.<\/li>\n<li>The participating stores must use the same currency and the same weight and dimension units.<\/li>\n<li>HTTPS is strongly recommended for every participating store.<\/li>\n<\/ul>\n\n<h3>Using FREE<\/h3>\n\n<p>Customers use the Source stores normally. They select a product or variation and click <strong>Add to cart<\/strong>. FREE transfers the item to the Main store and then follows the post-add setting chosen by the administrator.<\/p>\n\n<p>The default is to return the customer to the Source store. The Source-store cart and checkout links, including the Mini-Cart Block link, lead to the Main-store cart and checkout. The final order is created only on the Main store.<\/p>\n\n<p>Remote order items retain the Source-store URL and original product ID, so their origin remains visible in the Main-store order. FREE does not publish the internal carrier product as a public product.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the same free plugin on the Main store and every Source store in the same WordPress Multisite network. You may network-activate it, but each participating site still needs its own role and settings.<\/li>\n<li>On the site that will own the cart, checkout and final order, open <strong>WooCommerce &gt; 3DL Central Checkout<\/strong> and choose <strong>Main store<\/strong>.<\/li>\n<li>Generate a shared secret key on the Main store. Keep it private; do not publish it or send it to anyone outside the participating site administrators.<\/li>\n<li>Add the exact home URL of every Source store to <strong>Trusted source store URLs<\/strong>, one URL per line. This is the Main-store security allow-list.<\/li>\n<li>Save the Main-store settings.<\/li>\n<li>On each Source store, choose <strong>Source store<\/strong>, enter the exact Main-store home URL including <code>https:\/\/<\/code>, and paste the same secret key generated on the Main store. Do not generate a different key on a Source store.<\/li>\n<li>Save each Source store. Copy its exact home URL and verify that the URL is present in the Main-store trusted-source list.<\/li>\n<li>On each Source store, choose what happens after add-to-cart. <strong>Return to the Source store<\/strong> is recommended so the customer can continue shopping. <strong>Open the central cart<\/strong> is available when the cart should be shown immediately.<\/li>\n<li>Add a simple product on a Source store and open the cart. The product should be present in the Main-store central cart.<\/li>\n<li>Test a variable product, its selected variation and a quantity greater than one. Then test products from at least two Source stores together with a local Main-store product in one checkout.<\/li>\n<\/ol>\n\n<p>The admin screen is role-aware: Main-store-only fields are hidden on Source stores and Source-store-only fields are hidden on the Main store. The built-in quick setup guide shows the steps for the selected role.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20outside%20wordpress%20multisite%3F\"><h3>Does this work outside WordPress Multisite?<\/h3><\/dt>\n<dd><p>No. This free edition is intentionally designed for WooCommerce stores inside one WordPress Multisite network.<\/p><\/dd>\n<dt id=\"does%20the%20customer%20get%20one%20checkout%3F\"><h3>Does the customer get one checkout?<\/h3><\/dt>\n<dd><p>Yes. Source products are transferred to the Main store and join the Main-store WooCommerce cart. The final order is created on the Main store only.<\/p><\/dd>\n<dt id=\"does%20free%20create%20a%20second%20cart%20on%20each%20source%20store%3F\"><h3>Does FREE create a second cart on each Source store?<\/h3><\/dt>\n<dd><p>No. The real cart and checkout exist only on the Main store. A Source store may show a read-only Main-cart count, and its cart and checkout links lead to the Main store.<\/p><\/dd>\n<dt id=\"are%20simple%20and%20variable%20products%20supported%3F\"><h3>Are simple and variable products supported?<\/h3><\/dt>\n<dd><p>Yes. FREE supports simple products, variable products, selected variations and requested quantities, subject to the Source-store availability and price checks.<\/p><\/dd>\n<dt id=\"why%20does%20the%20customer%20return%20to%20the%20source%20store%20after%20adding%20a%20product%3F\"><h3>Why does the customer return to the Source store after adding a product?<\/h3><\/dt>\n<dd><p>This is the default FREE behavior. The product is transferred through the Main store and added to the central cart, then the customer returns to the Source store so they can continue shopping. The cart and checkout links on Source stores point to the Main-store central cart and checkout. You can change this behavior per Source store and open the central cart immediately after add-to-cart.<\/p><\/dd>\n<dt id=\"does%20free%20reserve%20or%20deduct%20source-store%20stock%3F\"><h3>Does FREE reserve or deduct Source-store stock?<\/h3><\/dt>\n<dd><p>No. FREE checks source availability and stock before checkout, but it does not reserve or deduct Source-store stock after the order. Use PRO when stock must remain synchronized.<\/p><\/dd>\n<dt id=\"where%20is%20the%20order%20created%20in%20free%3F\"><h3>Where is the order created in FREE?<\/h3><\/dt>\n<dd><p>The final WooCommerce order is created on the Main store only. Remote line items retain the Source-store URL and original Source product ID. FREE does not create a second order on the Source store.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20source%20product%20changes%20before%20checkout%3F\"><h3>What happens if the Source product changes before checkout?<\/h3><\/dt>\n<dd><p>FREE checks the product again before checkout. If the product is no longer purchasable, available, correctly priced or compatible with the Main store's currency or units, checkout is stopped and the customer must correct the cart.<\/p><\/dd>\n<dt id=\"are%20product%20transfers%20secure%3F\"><h3>Are product transfers secure?<\/h3><\/dt>\n<dd><p>Transfers and validation requests are signed with a shared HMAC-SHA256 secret. The Main store also uses an explicit allow-list of trusted Source store URLs.<\/p><\/dd>\n<dt id=\"why%20is%20the%20trusted%20source%20store%20urls%20field%20only%20on%20the%20main%20store%3F\"><h3>Why is the Trusted source store URLs field only on the Main store?<\/h3><\/dt>\n<dd><p>It is a security allow-list. The Main store accepts transferred products only from Source-store home URLs that the administrator explicitly lists. Source stores send products, so they do not need their own trusted-source list.<\/p><\/dd>\n<dt id=\"does%20the%20free%20plugin%20send%20data%20to%203dragonlabs%3F\"><h3>Does the free plugin send data to 3DragonLabs?<\/h3><\/dt>\n<dd><p>No. The free plugin has no license server and no telemetry. It only communicates between the Main and Source sites configured by the administrator.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.9.12<\/h4>\n\n<ul>\n<li>Moved frontend and admin JavaScript to properly enqueued assets.<\/li>\n<li>Added a WordPress nonce to the customer-side pending-transfer AJAX request.<\/li>\n<li>Moved REST request authentication into the route permission callback while retaining HMAC-SHA256 signing.<\/li>\n<li>Declared WooCommerce as a plugin dependency and aligned the WordPress.org contributor username.<\/li>\n<li>Prepared translations for WordPress.org translation distribution.<\/li>\n<\/ul>\n\n<h4>0.9.11<\/h4>\n\n<ul>\n<li>Clarified installation, customer usage and the FREE\/PRO boundary.<\/li>\n<li>Documented the central-cart-only logic, read-only Source-store badge and stock limitation more prominently.<\/li>\n<li>Added clearer information about variable products, quantities, currency and measurement units.<\/li>\n<li>Improved English admin wording and completed the related Czech translation updates.<\/li>\n<li>No transfer or cart-runtime logic was changed in this documentation release.<\/li>\n<\/ul>\n\n<h4>0.9.10<\/h4>\n\n<ul>\n<li>Updated the Source-store cart badge for the WooCommerce Mini-Cart Block.<\/li>\n<li>On Source stores, clicking the Mini-Cart Block opens the Main-store cart instead of a second local cart drawer.<\/li>\n<\/ul>\n\n<h4>0.9.9<\/h4>\n\n<ul>\n<li>Rebuilt the runtime from the known functional RC5 transfer core.<\/li>\n<li>Kept the isolated protection that hides the internal carrier product and returns 404 for its public URL.<\/li>\n<li>Added a read-only Main-cart count for Source-store badges and kept Source cart and checkout links pointed at the Main store.<\/li>\n<\/ul>\n\n<h4>0.9.4<\/h4>\n\n<ul>\n<li>Added a Source-store setting for post-add behavior.<\/li>\n<li>Default behavior now returns the customer to the Source store after the product is safely added to the Main-store central cart.<\/li>\n<li>Source stores can optionally open the central cart immediately after add-to-cart.<\/li>\n<li>Added a clean success notice after returning from the Main-store transfer.<\/li>\n<\/ul>\n\n<h4>0.9.3<\/h4>\n\n<ul>\n<li>Fixed variable-product transfers when the hidden central carrier product had an unexpected WooCommerce product type.<\/li>\n<li>The carrier now self-heals back to a simple hidden product before remote items are imported.<\/li>\n<\/ul>\n\n<h4>0.9.2<\/h4>\n\n<ul>\n<li>Keeps internal transfer metadata hidden from the WooCommerce order-item editor while preserving it for plugin logic and future PRO synchronization.<\/li>\n<li>The human-readable \"From store\" line remains visible on transferred order items.<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>Role-aware admin: Main-store-only and Source-store-only settings are now shown only where they are needed.<\/li>\n<li>Added a built-in quick setup guide for Main and Source stores.<\/li>\n<li>Added configuration readiness status and clearer explanations of the shared key and trusted-source allow-list.<\/li>\n<li>Clarified what happens to orders and stock in the FREE edition.<\/li>\n<li>Main-store URL and trusted-source settings are cleaned automatically when a site changes role.<\/li>\n<\/ul>\n\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>First public release candidate.<\/li>\n<li>Central cart and checkout for WooCommerce Multisite.<\/li>\n<li>Signed source-to-main product transfer.<\/li>\n<li>Multiple trusted Source stores.<\/li>\n<li>Remote product availability, stock, price and currency validation before checkout.<\/li>\n<li>English source language with bundled Czech translation.<\/li>\n<\/ul>","raw_excerpt":"One central WooCommerce cart and checkout for stores inside a WordPress Multisite network.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/361072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=361072"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/halogen11"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=361072"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=361072"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=361072"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=361072"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=361072"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=361072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}