Merge pull request #26208 from overleaf/kh-extend-trial

[web] support extending trials for Stripe

GitOrigin-RevId: ae7d863f61ce5ec463509c590199c6e583300e8f
This commit is contained in:
Kristina
2025-06-12 11:22:10 +02:00
committed by Copybot
parent cfc6ff0759
commit 02e7ac52e2
4 changed files with 7 additions and 8 deletions

View File

@@ -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)
}
/**

View File

@@ -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

View File

@@ -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) {

View File

@@ -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'))