Working on the endpoints, but I wanted to put together an issue for the front-end of what design considerations will need to go in here.
- Link to open billing panel for a specific organization
- Billing panel overview for an organization that lists the current plan, its rate, and description as well as payment methods (credit/debit cards) and billing email address
- Error display states
- Payment is overdue
- Card payment was declined
- Primary payment method has expired
- No payment method on account
- Generic payment processor error (for when we don't want to show the reason)
- Flow to add a new payment method
- Must use the [Stripe.js](https://stripe.com/docs/custom-form) library to create a new card token
- That token is then passed back to Odin which creates the actual payment method
- Flow to delete existing payment method
- Should warn when deleting last payment method
- Flow to update existing payment method
- Values available to update are
- Expiration date
- Billing Address
- Name on the card
- Possible error displays
- Invalid expiration month
- Invalid expiration year
- Expired card
- Incorrect ZIP
- All other values are immutable and changing them requires deleting the card and recreating it
- Flow to change plan