TryGhost / Ghost

Independent technology for modern publishing, memberships, subscriptions and newsletters.
https://ghost.org
MIT License
46.74k stars 10.19k forks source link

Disconnection of Stripe leaves tiers in limbo. #19293

Closed cathysarisky closed 1 day ago

cathysarisky commented 9 months ago

Issue Summary

If Stripe is disconnected, tiers are left in an active status, but cannot be archived from the admin panel. They can show up in a #get request on some theme pages, and also on Portal's /#/portal/plans route.

Expected behavior: Tiers should not be returned by #get (or a filter should exist that prevents this) if Stripe is disconnected. Probable workaround: Add logic check for whether stripe is connected before #get in theme code. (But Portal would still need to be patched.)

Steps to Reproduce

  1. Connect to stripe (test mode OK)
  2. Create some tiers.
  3. Disconnect from Stripe
  4. Retrieve tiers with {{#get tiers filter="active:true+visibility:public"}} Observe that tiers are returned, which messes up any theme using a custom sign-up page.
  5. Try to delete or deactivate these tiers in the Admin portal to prevent the behavior in 4. Observe that these tiers do not display in the admin portal.

Ghost Version

Ghost Pro

Node.js Version

Ghost Pro

How did you install Ghost?

Ghost Pro

Database type

MySQL 8

Browser & OS version

No response

Relevant log / error output

No response

Code of Conduct

cathysarisky commented 4 months ago

Today's workaround (after I spent 15 minutes scratching my head about the behavior, not realizing the client's site had ever been connected to Stripe): Connect Stripe (to a test account, in test mode), archive the problem tier, disconnect Stripe.

github-actions[bot] commented 1 week ago

Our bot has automatically marked this issue as stale because there has not been any activity here in some time.

The issue will be closed soon if there are no further updates, however we ask that you do not post comments to keep the issue open if you are not actively working on a PR.

We keep the issue list minimal so we can keep focus on the most pressing issues. Closed issues can always be reopened if a new contributor is found. Thank you for understanding 🙂