11/12/2016 - 4:24 AM


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