Commit 5e9fc5633af for woocommerce
commit 5e9fc5633af5a016fb885495ecaa4e32014c9ce1
Author: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
Date: Wed Apr 1 11:00:30 2026 +0200
In-App subscriptions: show managed status for host plan and agency orders (#63925)
* In-App subscriptions - better information about expiry for host plan orders
* Add changefile(s) from automation for the following project(s): woocommerce, woocommerce/client/admin
---------
Co-authored-by: woocommercebot <woocommercebot@users.noreply.github.com>
diff --git a/plugins/woocommerce/changelog/63925-update-marketplace-host-plan-orders-label b/plugins/woocommerce/changelog/63925-update-marketplace-host-plan-orders-label
new file mode 100644
index 00000000000..21a7c114147
--- /dev/null
+++ b/plugins/woocommerce/changelog/63925-update-marketplace-host-plan-orders-label
@@ -0,0 +1,4 @@
+Significance: patch
+Type: enhancement
+
+My Subscriptions: show "Managed by host" or "Managed by agency" in the expiry column for host plan and agency subscriptions.
\ No newline at end of file
diff --git a/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/table/rows/functions.tsx b/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/table/rows/functions.tsx
index f4f77f746df..5b4a1780eff 100644
--- a/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/table/rows/functions.tsx
+++ b/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/table/rows/functions.tsx
@@ -332,8 +332,6 @@ export function nameAndStatus( subscription: Subscription ): TableRow {
}
export function expiry( subscription: Subscription ): TableRow {
- const expiryDate = subscription.expires;
-
if (
subscription.local.installed === true &&
subscription.product_key === ''
@@ -344,8 +342,26 @@ export function expiry( subscription: Subscription ): TableRow {
};
}
+ if ( subscription.is_agency || subscription.included_in_host_plan ) {
+ const isAgency = subscription.is_agency;
+ const text = isAgency
+ ? __( 'Managed by agency', 'woocommerce' )
+ : __( 'Managed by host', 'woocommerce' );
+ return {
+ display: (
+ <StatusPopover
+ text={ text }
+ level={ StatusLevel.Info }
+ explanation=""
+ />
+ ),
+ value: 'host_plan',
+ };
+ }
+
let expiryDateElement = __( 'Never expires', 'woocommerce' );
+ const expiryDate = subscription.expires;
if ( expiryDate ) {
expiryDateElement = gmdateI18n(
'j M, Y',
diff --git a/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/types.ts b/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/types.ts
index b1181ac7f90..2feba051d3c 100644
--- a/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/types.ts
+++ b/plugins/woocommerce/client/admin/client/marketplace/components/my-subscriptions/types.ts
@@ -31,6 +31,8 @@ export type Subscription = {
subscription_installed: boolean;
subscription_available: boolean;
is_installable: boolean;
+ included_in_host_plan?: boolean;
+ is_agency?: boolean;
is_shared: boolean;
owner_email: boolean;
has_changelog: boolean;