Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subscription/bundle level entitlement status? #1997

Closed
binary1101 opened this issue Apr 1, 2024 · 2 comments
Closed

Subscription/bundle level entitlement status? #1997

binary1101 opened this issue Apr 1, 2024 · 2 comments

Comments

@binary1101
Copy link

binary1101 commented Apr 1, 2024

There are cases when subscription entitlement should be continued despite the fact that account overdue status is BLOCKED.

Let's assume I paid for an annual subscription. Then I signed up for another subscription and ended up in overdue status.

Now requesting information about subscriptions will return "state": "BLOCKED" for both of them. And there will be also PAUSE_ENTITLEMENT event for each subscription.

But first subscriptions is paid for a year in advance and the it's entitlement should continue until the end of the paid period. This makes sense for legal reasons: the already paid service must be provided.

Is there a way to configure to pause subscription entitlement only when its paid period ends?

Overdue config:

<overdueConfig>
    <accountOverdueStates>
        <initialReevaluationInterval>
            <unit>DAYS</unit>
            <number>1</number>
        </initialReevaluationInterval>
        <state name="BLOCKED">
            <condition>
                <timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>
                    <unit>DAYS</unit>
                    <number>10</number>
                </timeSinceEarliestUnpaidInvoiceEqualsOrExceeds>
            </condition>
            <externalMessage>Reached BLOCKED</externalMessage>
            <blockChanges>true</blockChanges>
            <disableEntitlementAndChangesBlocked>true</disableEntitlementAndChangesBlocked>
        </state>
<overdueConfig>

Plan configuration:

<plan name="Plan1">
    <product>Pruduct1</product>
    <recurringBillingMode>IN_ADVANCE</recurringBillingMode>
    <finalPhase type="EVERGREEN">
        <duration>
            <unit>UNLIMITED</unit>
        </duration>
        <recurring>
            <billingPeriod>ANNUAL</billingPeriod>
            <recurringPrice>
                <price>
                    <currency>USD</currency>
                    <value>10</value>
                </price>
            </recurringPrice>
        </recurring>
    </finalPhase>
</plan>
@reshmabidikar
Copy link
Contributor

Looking at your overdue config, the disableEntitlementAndChangesBlocked flag is set to true. This indicates that entitlement and billing will be disabled (See docs). If you want to avoid this, you should specify disableEntitlementAndChangesBlocked=false. I'm closing this issue, please feel free to reach out via the mailing list if you need further information.

@binary1101
Copy link
Author

Thank you, Reshma. But changing disableEntitlementAndChangesBlocked to false doesn't solve the problem. If I do that, subscription entitlement will never stop. And there is no visible solution how to stop subscriptions only when it's paid period has expired.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants