{
    "name": "Ultimate Multisite: WooCommerce Integration",
    "version": "2.2.4",
    "homepage": "https:\/\/ultimatemultisite.com",
    "author": "Arindo Duque and NextPress and David Stone",
    "author_homepage": "https:\/\/ultimatemultisite.com",
    "requires_php": "7.1.4",
    "requires": "5.1",
    "tested": "7.0",
    "sections": {
        "description": "<p><strong>Your multisite membership site deserves better payment options.<\/strong><\/p>\n<p>If you're running Ultimate Multisite and losing potential subscribers because you can't accept their preferred payment method, this plugin solves that problem. It bridges Ultimate Multisite's subscription management with WooCommerce's payment ecosystem \u2014 giving your subscribers access to every payment gateway WooCommerce supports.<\/p>\n<p><strong>How it works:<\/strong><\/p>\n<p>When a subscriber's billing period ends, the plugin automatically creates a WooCommerce order on your main site and sends the subscriber an invoice email with a payment link. Once payment is received, the subscription renews automatically. No manual intervention required.<\/p>\n<p><strong>Why this matters:<\/strong><\/p>\n<p>WooCommerce supports 400+ payment gateways. Your subscribers can pay with credit cards, PayPal, Apple Pay, Google Pay, bank transfers, buy-now-pay-later services, and local payment methods specific to their country. Removing payment friction directly increases conversion rates and reduces churn.<\/p>\n<h4>Key Features<\/h4>\n<ul>\n<li><strong>400+ payment gateways<\/strong> \u2014 Accept any payment method WooCommerce supports, including Stripe, PayPal, Square, Authorize.net, and regional gateways<\/li>\n<li><strong>Automated billing cycle<\/strong> \u2014 Subscriptions renew automatically; no manual order management<\/li>\n<li><strong>WooCommerce Subscriptions built-in<\/strong> \u2014 Full recurring billing support included; no separate WooCommerce Subscriptions license required<\/li>\n<li><strong>Block Checkout support<\/strong> \u2014 Works with WooCommerce's modern block-based checkout<\/li>\n<li><strong>Free trial support<\/strong> \u2014 Offer free trials with or without setup fees; trial eligibility resets correctly on cancellation<\/li>\n<li><strong>Duplicate prevention<\/strong> \u2014 Race condition protection prevents duplicate subscriptions and orders<\/li>\n<li><strong>Network admin notifications<\/strong> \u2014 Email alerts for all new orders across all completion paths<\/li>\n<li><strong>Multisite-native<\/strong> \u2014 Designed specifically for WordPress multisite networks; handles cross-site order creation correctly<\/li>\n<\/ul>\n<h4>Who This Is For<\/h4>\n<ul>\n<li>WordPress multisite network operators running Ultimate Multisite<\/li>\n<li>SaaS-style membership sites that need flexible recurring billing<\/li>\n<li>Networks serving international customers who need local payment methods<\/li>\n<li>Site owners who want to reduce checkout abandonment by offering more payment options<\/li>\n<\/ul>\n<h4>Requirements<\/h4>\n<ul>\n<li>WordPress Multisite<\/li>\n<li><a href=\"https:\/\/ultimatemultisite.com\">Ultimate Multisite<\/a> (required)<\/li>\n<li>WooCommerce 5.2+<\/li>\n<\/ul>\n<h4>Documentation<\/h4>\n<ul>\n<li><a href=\"https:\/\/help.wpultimo.com\/article\/430-setting-up-the-woocommerce-integration\">Setting Up The WooCommerce Integration<\/a><\/li>\n<li><a href=\"https:\/\/help.wpultimo.com\/article\/307-extending-your-payment-options-with-wp-ultimo-woocommerce-integration\">Extending your Payment Options with Ultimate Multisite: WooCommerce Integration<\/a><\/li>\n<\/ul>\n<h4>Support<\/h4>\n<p>For support, visit <a href=\"https:\/\/ultimatemultisite.com\">ultimatemultisite.com<\/a> or open an issue on <a href=\"https:\/\/github.com\/Ultimate-Multisite\/ultimate-multisite-woocommerce\">GitHub<\/a>.<\/p>",
        "installation": "<ol>\n<li>Upload the <code>ultimate-multisite-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Network-activate the plugin through the <strong>Plugins<\/strong> menu in WordPress Network Admin<\/li>\n<li>Ensure WooCommerce is active on your main site<\/li>\n<li>Go to <strong>Ultimate Multisite &gt; Payment Gateways<\/strong> and configure the WooCommerce integration<\/li>\n<li>Select which WooCommerce payment gateways to offer your subscribers<\/li>\n<\/ol>",
        "frequently_asked_questions": "<h4>Do I need a separate WooCommerce Subscriptions license?<\/h4>\n<p>No. WooCommerce Subscriptions core functionality is bundled with this plugin. You do not need to purchase WooCommerce Subscriptions separately.<\/p>\n<h4>Which payment gateways are supported?<\/h4>\n<p>Any payment gateway that works with WooCommerce is supported. This includes Stripe, PayPal, Square, Authorize.net, Braintree, Apple Pay, Google Pay, and 400+ others.<\/p>\n<h4>Does this work with WooCommerce's block-based checkout?<\/h4>\n<p>Yes. The plugin supports WooCommerce's Store API and block checkout as of version 2.0.8.<\/p>\n<h4>What happens when a subscriber's payment fails?<\/h4>\n<p>The subscription is placed on hold. The subscriber receives an invoice email with a payment link. Once payment is completed, the subscription is automatically reactivated.<\/p>\n<h4>Can I offer free trials?<\/h4>\n<p>Yes. Free trials with or without setup fees are supported. Trial eligibility is automatically restored if a subscriber cancels during the trial period.<\/p>\n<h4>Is this plugin GPL-compatible?<\/h4>\n<p>Yes. The plugin is licensed under GPLv2 or later.<\/p>",
        "changelog": "<p>Version 2.2.4 - Released on 2026-07-28<\/p>\n<ul>\n<li>Fix: Daily reconciliation now preserves access through already-paid periods when a WooCommerce Subscription is cancelled, preventing premature suspension while auto-renew is disabled.<\/li>\n<\/ul>\n<p>Version 2.2.3 - Released on 2026-07-14<\/p>\n<ul>\n<li>Fix: Cancelling a membership now preserves the WooCommerce Subscription record, keeping billing history available for audits and customer support.<\/li>\n<li>Fix: Daily reconciliation now restores missing renewal schedules so active subscriptions keep billing instead of becoming silently free.<\/li>\n<\/ul>\n<p>Version 2.2.2 - Released on 2026-07-09<\/p>\n<ul>\n<li>Fix: Paid-up memberships are now reactivated even if their WooCommerce Subscription lost Ultimate Multisite metadata, while reconciliation still ignores unrelated subscriptions.<\/li>\n<\/ul>\n<p>Version 2.2.1 - Released on 2026-07-08<\/p>\n<ul>\n<li>Fix: Daily WooCommerce Subscription reconciliation now restores paid-up memberships and repairs missed cancellations, so recovered renewals no longer leave customer sites suspended.<\/li>\n<\/ul>\n<p>Version 2.2.0 - Released on 2026-07-01<\/p>\n<ul>\n<li>New: Ultimate Multisite tax amounts now appear as separate WooCommerce fee lines at checkout, making tax totals clearer before payment.<\/li>\n<li>New: Added an opt-in &quot;Suspend Memberships Immediately on Failed Renewals&quot; setting and <code>wu_woo_suspend_on_payment_failure<\/code> filter for sites that want failed-renewal suspension during the WooCommerce Subscriptions retry window.<\/li>\n<li>Fix: Reconciled WooCommerce Subscription statuses that could stay out of sync with Ultimate Multisite memberships after failed or recovered renewals.<\/li>\n<li>Fix: Added the WooCommerce store currency to the Ultimate Multisite currency list when it was missing.<\/li>\n<li>Fix: Preserved customer billing details when redirecting subscribers to WooCommerce checkout.<\/li>\n<li>Improved: Added compatibility with Jetpack Autoloader 5.<\/li>\n<li>Improved: Cleaned release package generation so GitHub and marketplace zips avoid nested staging directories and development files.<\/li>\n<\/ul>\n<p>Version 2.1.1 - Released on 2026-06-05<\/p>\n<ul>\n<li>New: Added the <code>wu_woocommerce_orphan_order_cleanup_window<\/code> filter so you can control how long orphaned pending WooCommerce orders are retained before cleanup.<\/li>\n<li>Fix: Prevented duplicate order completion processing when a payment was already finalized in WooCommerce.<\/li>\n<li>Fix: Prevented accidental cancellation of an active subscription when a duplicate subscription is created.<\/li>\n<li>Fix: Prevented duplicate orders and subscriptions when starting checkout with a 100% trial discount.<\/li>\n<li>Fix: Restored proper processing for Store API checkout orders that include subscriptions.<\/li>\n<li>Fix: Ensured membership expiration is updated when renewal next-payment dates are stale.<\/li>\n<li>Fix: Preserved cart contents and pending-site publishing behavior during reactivation checkouts.<\/li>\n<li>Fix: Preserved secondary memberships during checkout startup so they are no longer unexpectedly removed.<\/li>\n<li>Improved: Updated the bundled WooCommerce Subscriptions Core dependency to 8.3.0.<\/li>\n<\/ul>\n<p>Version 2.1.0 - Released on 2026-05-21<\/p>\n<ul>\n<li>New: PayPal Commerce Platform (PPCP) recurring purchases using intent=CAPTURE are now correctly detected and processed when no renewal credential is present, preventing failed renewals for affected gateway configurations.<\/li>\n<li>Fix: Membership expiration date is no longer set to 1970-01-01 when a subscription's next payment date is zero.<\/li>\n<\/ul>\n<p>Version 2.0.13 - Released on 2026-05-08<\/p>\n<ul>\n<li>Fix: Mixed cart configurations such as a monthly plan plus a yearly domain (Domain Seller addon) now keep both line items at WooCommerce checkout. Previously the second recurring product was silently removed by WooCommerce Subscriptions' default single-subscription cart behaviour. The override is scoped to Ultimate Multisite carts only and does not change site-wide WooCommerce settings.<\/li>\n<\/ul>\n<p>Version 2.0.12 - Released on 2026-05-01<\/p>\n<ul>\n<li>Fix: Subscription trial and next-payment dates are no longer silently lost due to a race condition during checkout, which was causing some customers to never be billed after their trial ended.<\/li>\n<li>Fix: A crash from Elementor Pro during site creation no longer aborts the membership change pipeline, preventing memberships from being left in an inconsistent state.<\/li>\n<\/ul>\n<p>Version 2.0.11 - Released on 2026-05-01<\/p>\n<ul>\n<li>Fix: WooCommerce Subscription renewal payments no longer leave the membership on-hold. The duplicate-order guard was incorrectly treating renewal orders as duplicate initial checkouts, preventing the membership from reactivating and extending its expiration date.<\/li>\n<\/ul>\n<p>Version 2.0.10 - Released on 2026-04-29<\/p>\n<ul>\n<li>Fix: Subscription status sync no longer clears the WP Ultimo membership and customer link from site metadata, which was breaking future sync events.<\/li>\n<li>Fix: Membership ID and customer ID are now stamped on the pending site before it is published, preventing an orphaned site when the publish event fires before the IDs are saved.<\/li>\n<li>Fix: Discount coupons are now correctly transferred to the replacement order when a duplicate signup is auto-cancelled and replaced.<\/li>\n<li>Fix: The site title chosen during checkout is no longer lost when the user is redirected to WooCommerce checkout.<\/li>\n<li>Fix: Memberships are no longer incorrectly cancelled during the WooCommerce Subscriptions automatic payment retry window.<\/li>\n<li>Fix: Trial memberships are no longer incorrectly cancelled when a subscription status sync occurs while the trial is still active.<\/li>\n<li>Fix: The payment gateway is now correctly recorded on the membership when checkout succeeds after a previous failed attempt.<\/li>\n<li>Fix: Discount coupons no longer apply twice when WooCommerce Subscriptions is not active.<\/li>\n<li>Improved: Plugin boot time reduced by skipping the bundled autoloader when the host environment has already loaded shared dependencies.<\/li>\n<\/ul>\n<p>Version 2.0.9 - Released on 2026-03-31<\/p>\n<ul>\n<li>Fix: A declined credit card no longer permanently blocks the customer from starting a free trial. Trial eligibility is automatically restored when a WooCommerce order is cancelled or fails.<\/li>\n<li>Fix: The network admin now receives an email notification for new orders, which was previously skipped when orders went directly to &quot;completed&quot; status.<\/li>\n<li>Fix: Free trials with no setup fee no longer lose the subscription entirely. The recurring plan is now always added to the WooCommerce cart even when today's total is zero.<\/li>\n<li>Fix: Returning to checkout within an hour of an abandoned signup no longer shows a &quot;previous payment failed&quot; error. Stale pending data is cleaned up automatically when a new checkout starts.<\/li>\n<li>Fix: Old abandoned orders can no longer be paid from the WooCommerce account page to bypass the trial.<\/li>\n<li>Fix: The site domain chosen during an abandoned checkout is now freed immediately instead of staying reserved until the next hourly cleanup.<\/li>\n<li>Fix: Orphaned pending subscriptions from previous checkout attempts are now cleaned up before a new checkout begins, preventing duplicate active subscriptions.<\/li>\n<li>Fix: If a customer completes checkout twice due to a coupon-related race condition, the duplicate order and subscription are now automatically cancelled instead of creating two active subscriptions.<\/li>\n<li>Fix: A successful payment is no longer incorrectly shown as &quot;Cancelled&quot; in the dashboard when a later processing step encounters an error.<\/li>\n<li>Fix: The subscription is now correctly linked to the membership even when the WooCommerce webhook fires before the subscription ID is saved.<\/li>\n<li>Fix: Subscriptions that stay in &quot;pending&quot; status after a successful checkout with a 100% discount coupon or free trial are now automatically activated.<\/li>\n<li>Fix: A rare crash (&quot;Call to getOffsetTimestamp on null&quot;) that occurred during checkout with 100% discount coupons has been resolved with multiple layers of protection.<\/li>\n<li>Fix: Site creation is now explicitly triggered after a new checkout completes, fixing cases where the site was never created due to a missed internal event.<\/li>\n<li>Fix: The hourly cleanup now properly restores trial eligibility and frees domains for abandoned checkouts, not just cancelling the orders.<\/li>\n<li>New: Admin notification email now fires for all order completion paths, not just the standard WooCommerce flow.<\/li>\n<\/ul>\n<p>Version 2.0.8 - Released on 2026-02-26<\/p>\n<ul>\n<li>Improvement: Better handle subscription changes, cancellations, failures, and renewals.<\/li>\n<li>Improvement: Support WooCommerce Block Checkout (Store API).<\/li>\n<li>Improvement: Auto-cancel stale pending orders on retry and hourly cleanup of orphaned orders.<\/li>\n<li>Improvement: Show payment method details on UM membership screen with change payment method link.<\/li>\n<li>Fix: Redirect after WC checkout now uses template_redirect for reliability.<\/li>\n<li>Fix: Trial start date was referencing undefined property instead of cart parameter.<\/li>\n<li>Fix: Recalculate next payment date after billing period changes.<\/li>\n<li>Fix: Fallback subscriptions-core loading when full WC Subscriptions plugin fails dependency check.<\/li>\n<\/ul>\n<p>Version 2.0.7 - Released on 2026-01-30<\/p>\n<ul>\n<li>Fix: Sync WooCommerce Subscription status changes (e.g., trial to active) to WP Ultimo membership status.<\/li>\n<\/ul>\n<p>Version 2.0.6 - Released on 2026-01-16<\/p>\n<ul>\n<li>Improvement: Include core subscriptions in the addon. No longer requires Woocommerce Subscriptinos extension.<\/li>\n<\/ul>\n<p>Version 2.0.5 - Released on 2026-01-09<\/p>\n<ul>\n<li>Improvement: Load translations from glotpress API.<\/li>\n<li>Fix: Fatal error is some page builders.<\/li>\n<li>fix: Infinite redirect when the customer is a member of the main site.<\/li>\n<\/ul>\n<p>Version 2.0.4 - Released on 2025-11-14<\/p>\n<ul>\n<li>Added: Translations for many more languages.<\/li>\n<li>Changed: Renamed to Ultimate Multisite: Woocommerce Integration.<\/li>\n<li>Added: Compatibility with Woocommerce 10.2.1.<\/li>\n<li>Added: Compatibility with Woocommerce Subscriptions 7.7.0.<\/li>\n<li>Fix: Compatibility with PHP 8.4<\/li>\n<li>Fix: Redirect but when no WC account page exists.<\/li>\n<\/ul>\n<p>Version 2.0.3 - Released on 2025-08-13<\/p>\n<ul>\n<li>Changed: Enabled automatic updates with new marketplace.<\/li>\n<\/ul>\n<p>Version 2.0.2 - Released on 2025-07-05<\/p>\n<ul>\n<li>Changed: Renamed to Multisite Ultimate: Woocommerce Integration.<\/li>\n<li>Added: Compatibility with Woocommerce 9.8.1.<\/li>\n<li>Added: Compatibility with Woocommerce Subscriptions 7.3.0.<\/li>\n<li>Fix: Cancelling a subscription by the customer.<\/li>\n<li>Fix: Fatal error when using checkout block.<\/li>\n<li>Improvement: Now compatible with Woocommerce high performance custom order tables.<\/li>\n<li>Fix: Cancelling at WooCommerce checkout can still upgrade a membership.<\/li>\n<\/ul>\n<p>Version 2.0.1 - Released on 2023-08-09<\/p>\n<ul>\n<li>Added: Compatibility with Woocommerce 7.9.0.<\/li>\n<li>Added: Compatibility with Woocommerce Subscriptions 5.3.0.<\/li>\n<li>Added: Support for membership updates.<\/li>\n<li>Added: Notices about trials and setup fees in Woocommerce.<\/li>\n<li>Added: Identification of Ultimate Multisite Woocommerce products with a meta value.<\/li>\n<li>Added: Inserted a one-time fix to mark all Ultimate Multisite related Woocommerce products.<\/li>\n<li>Added: Removed Ultimate Multisite created products from the Woocommerce list.<\/li>\n<li>Improvement: Created a non-recurring Woocommerce discount to apply to the cart.<\/li>\n<li>Improvement: Restored the recurring discount to the Woocommerce product.<\/li>\n<li>Improvement: Added a recurring discount label to the Woocommerce product.<\/li>\n<li>Improvement: Ensured product type on checkout.<\/li>\n<li>Fix: Maintained membership status during the downgrade process.<\/li>\n<li>Fix: Checked if a subscription exists to avoid errors during the cancellation process.<\/li>\n<li>Fix: Added the start subscription date to use in Woocommerce subscriptions.<\/li>\n<li>Internal: Implemented a new PHP 8.1 build process.<\/li>\n<\/ul>\n<p>Version 2.0.0 - Complete rewrite.<\/p>\n<ul>\n<li>Added: Process cancellation method to remove woo subscription when changing the gateway or canceling the membership;<\/li>\n<li>Added: Handler to downgrade and upgrade memberships;<\/li>\n<li>Improvement: Load woocommerce dependencies on customer update form in subsites to allow account update;<\/li>\n<li>Improvement: Correct load Woocommerce cart if not exist;<\/li>\n<li>Improvement: Ensure we are on main site tables when process a checkout;<\/li>\n<li>Improvement: Make Ultimo renewal order based on Woocommerce subscription order value and not from last payment;<\/li>\n<li>Fix: Go to WU Membership button link;<\/li>\n<li>Fix: Set Ultimo order as paid when Woocommerce subscriptions renewal has paid;<\/li>\n<li>Build: Add MPB as builder;<\/li>\n<\/ul>\n<p>Version 2.0.0-beta-5 - Released on 2022-01-21<\/p>\n<ul>\n<li>Internal: Added hooks and filters generator;<\/li>\n<li>Internal: Added Ultimate Multisite stubs for developer quality of life;<\/li>\n<li>Fixed: Prevent the creation of multiple products when not necessary;<\/li>\n<\/ul>\n<p>Version 2.0.0-beta.4 - 2021-09-23<\/p>\n<ul>\n<li>Fix: requiring WooCommerce to be network active instead of main site only;<\/li>\n<li>Improvement: added filter to allow the add-on to be used as a mu-plugin;<\/li>\n<\/ul>\n<p>Version 2.0.0-beta.3 - 2021-05-28<\/p>\n<ul>\n<li>Fix: dashboard access control was too aggressive;<\/li>\n<li>Improvement: Added WooCommerce help links to Ultimate Multisite top-menu;<\/li>\n<\/ul>\n<p>Version 2.0.0-beta.2 - 2021-05-04<\/p>\n<ul>\n<li>Improvement: creates pending payments on Ultimo on WCS renewal order creation;<\/li>\n<li>Improvement: pre-fills billing fields with Ultimate Multisite customer data;<\/li>\n<li>Improvement: adds back billing fields for gateways;<\/li>\n<\/ul>\n<p>Version 2.0.0-beta.1 - 2021-05-04<\/p>\n<ul>\n<li>Initial beta release<\/li>\n<\/ul>\n<p>-- Legacy Versions --<\/p>\n<p>Version 1.2.6 - 26\/03\/2020<\/p>\n<ul>\n<li>Fixed: Small incompatibility with newer versions of WooCommerce Subscriptions;<\/li>\n<\/ul>\n<p>Version 1.2.5 - 26\/08\/2019<\/p>\n<ul>\n<li>Fixed: Error on previous release;<\/li>\n<\/ul>\n<p>Version 1.2.4 - 22\/08\/2019<\/p>\n<ul>\n<li>Improved: Added option to redirect to WooCommerce checkout screen after integration immediately;<\/li>\n<\/ul>\n<p>Version 1.2.3 - 26\/05\/2019<\/p>\n<ul>\n<li>Fixed: Payment email for WooCommerce disapeared in some edge cases;<\/li>\n<\/ul>\n<p>Version 1.2.2 - 27\/02\/2019<\/p>\n<ul>\n<li>Added: Support to setup fees on the WooCommerce Subscription integration;<\/li>\n<\/ul>\n<p>Version 1.2.1 - 17\/11\/2018<\/p>\n<ul>\n<li>Fixed: Compatibility issues with Ultimate Multisite version 1.9.0;<\/li>\n<\/ul>\n<p>Version 1.2.0 - 10\/09\/2018<\/p>\n<ul>\n<li>Improved: New updates URL for add-ons;<\/li>\n<li>Added: Beta support to WooCommerce Subscription;<\/li>\n<\/ul>\n<p>Version 1.1.2 - 11\/02\/2018<\/p>\n<ul>\n<li>Fixed: Link to Pay being generated dynamically to respond to changes to WooCommerce endpoints;<\/li>\n<li>Improved: We now force completed status for our orders when payment_completed is called to make sure our renewal hooks run when they should;<\/li>\n<\/ul>\n<p>Version 1.1.1 - 24\/01\/2018<\/p>\n<ul>\n<li>Fixed: Now it also checks to see if the WooCommerce is just activated on the main site;<\/li>\n<li>Fixed: Included over-loadings to allow order creation to include taxes;<\/li>\n<\/ul>\n<p>Version 1.1.0 - 04\/11\/2017<\/p>\n<ul>\n<li>Fixed: Now the label of the integration button actually changes to reflect the settings. Requires Ultimate Multisite 1.5.0;<\/li>\n<li>Fixed: WooCommerce Integration now works even if WooCommerce is not network active and activated only in t^he main site;<\/li>\n<\/ul>\n<p>1.0.0 - Initial Release<\/p>"
    },
    "last_updated": "2026-08-09 03:50:14",
    "slug": "ultimate-multisite-woocommerce",
    "download_url": "https:\/\/ultimatemultisite.com\/?update_action=download&update_slug=ultimate-multisite-woocommerce",
    "request_time_elapsed": "1.685"
}