Skip to content

Downgrading from an annual plan to a monthly plan results in the deferred cancellation of the merchant's current app subscription. #401

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

Open
clydesantiago opened this issue Mar 21, 2025 · 1 comment
Labels
bug Something isn't working unconfirmed Bug has not been reproduced yet

Comments

@clydesantiago
Copy link
Contributor

clydesantiago commented Mar 21, 2025

Expected Behavior

When a merchant subscribes to the annual plan and then subscribes to the monthly plan, the next billing_on (API response) should be the current date (given that there are no trial days).

Current Behavior

When a merchant subscribes to the annual plan and then subscribes to the monthly plan, the next billing_on is next year. If we credit/refund the whole year, the user will be able to use the app for the entire year for free.

Failure Information

This happens in laravel-shopify/src/Actions/GetPlanUrl.php:79.

Steps to Reproduce

  1. The merchant accidentally subscribes to the annual plan and asks for a refund/credit.
  2. The app owners issue a refund/app credit and cancel the current annual plan.
  3. The merchant subscribes to the monthly plan.

This results in free usage for one year because we need to set the replacementBehavior to APPLY_IMMEDIATELY.

Context

  • Package Version: v22.0.1
  • Laravel Version: Laravel Framework 11.22.0
  • PHP Version: PHP 8.3.11
  • Template Engine: React

Failure Logs

Image

@clydesantiago
Copy link
Contributor Author

PR: #402

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working unconfirmed Bug has not been reproduced yet
Projects
None yet
Development

No branches or pull requests

1 participant