- Added "past due" billing state to the list of "active" states.
- Added UI to guide folks to update outdated payment methods.
Since the first pay periods for LegendKeeper's new billing system are starting to end, we're seeing a couple issues related to expired cards and failed payments. Specifically, LegendKeeper mistakenly treats the "past due" state as if it's inactive, so it sets projects in the account to read-only. This isn't the intended behavior. "Past due" is actually an "Active" state. This was just a Stripe-noob mistake on my end; this patch fixes the issue. Details below.
There should be 3 states in which an LK account is considered fully enabled: "active", "trialing", and "past due". Active is when an account is up-to-date and paid for, trialing is for trials, but past due is for expired cards or otherwise missed payments. We don't want to immediately write-lock someone's projects on the first failed payment, so past-due is technically an active state. There are lots of good reasons why payments fail: expired cards, bank API outages, etc. The preferred thing to do is give the user a grace period of a week or two while they get their payment details sorted.