diff --git a/services/web/app/src/Features/Subscription/SubscriptionHandler.js b/services/web/app/src/Features/Subscription/SubscriptionHandler.js index 9471974b08..b83b52c852 100644 --- a/services/web/app/src/Features/Subscription/SubscriptionHandler.js +++ b/services/web/app/src/Features/Subscription/SubscriptionHandler.js @@ -246,11 +246,8 @@ async function attemptPaypalInvoiceCollection(recurlyAccountCode) { ) } -async function extendTrial(subscription, daysToExend) { - await RecurlyWrapper.promises.extendTrial( - subscription.recurlySubscription_id, - daysToExend - ) +async function extendTrial(subscription, daysToExtend) { + await Modules.promises.hooks.fire('extendTrial', subscription, daysToExtend) } /** diff --git a/services/web/app/src/Features/Subscription/SubscriptionHelper.js b/services/web/app/src/Features/Subscription/SubscriptionHelper.js index b4acef4d3e..d409f47530 100644 --- a/services/web/app/src/Features/Subscription/SubscriptionHelper.js +++ b/services/web/app/src/Features/Subscription/SubscriptionHelper.js @@ -126,14 +126,14 @@ function getPaidSubscriptionState(subscription) { } function getSubscriptionTrialStartedAt(subscription) { - if (subscription?.recurlyStatus) { + if (subscription?.recurlyStatus?.trialStartedAt) { return subscription.recurlyStatus?.trialStartedAt } return subscription?.paymentProvider?.trialStartedAt } function getSubscriptionTrialEndsAt(subscription) { - if (subscription?.recurlyStatus) { + if (subscription?.recurlyStatus?.trialEndsAt) { return subscription.recurlyStatus?.trialEndsAt } return subscription?.paymentProvider?.trialEndsAt diff --git a/services/web/frontend/js/features/project-list/util/user.ts b/services/web/frontend/js/features/project-list/util/user.ts index 115ad03cbc..cd2abe07d5 100644 --- a/services/web/frontend/js/features/project-list/util/user.ts +++ b/services/web/frontend/js/features/project-list/util/user.ts @@ -24,7 +24,7 @@ export function getUserName(user: UserRef) { export function getUserSubscriptionState(subscription: Subscription) { if ('subscription' in subscription) { - if (subscription.subscription.recurlyStatus) { + if (subscription.subscription.recurlyStatus?.state) { return subscription.subscription.recurlyStatus.state } if (subscription.subscription.paymentProvider) { diff --git a/services/web/test/unit/src/Subscription/SubscriptionHelperTests.js b/services/web/test/unit/src/Subscription/SubscriptionHelperTests.js index c700e67316..d22f877646 100644 --- a/services/web/test/unit/src/Subscription/SubscriptionHelperTests.js +++ b/services/web/test/unit/src/Subscription/SubscriptionHelperTests.js @@ -437,6 +437,7 @@ describe('SubscriptionHelper', function () { it('should return the payment provider trial start date if it exists', function () { const result = this.SubscriptionHelper.getSubscriptionTrialStartedAt({ + recurlyStatus: {}, paymentProvider: { trialStartedAt: new Date('2023-01-01') }, }) expect(result).to.deep.equal(new Date('2023-01-01')) @@ -459,6 +460,7 @@ describe('SubscriptionHelper', function () { it('should return the payment provider trial end date if it exists', function () { const result = this.SubscriptionHelper.getSubscriptionTrialEndsAt({ + recurlyStatus: {}, paymentProvider: { trialEndsAt: new Date('2023-01-01') }, }) expect(result).to.deep.equal(new Date('2023-01-01'))