SUMMARY
`python manage.py generate_invoice` generates invoices for VMs when
it enters a new billing cycle and sends a notification email to
VM owners.
This command should be run as frequently as desirable. Running daily
is recommended.
BILLING CYCLE
By default, a billing cycle is 30 days.
SUMMARY
PAYMENT WORKFLOW
1. User is redirected after a new instance is created into a view
that generates invoice. There are checks in place to ensure
invoices are not generated twice for the same VM. There is also a
check in place to generate invoices for time periods that are
already paid for
2. User is redirected to payment form
3. Stripe takes over
4. If payment is successful, user is redirected to success page
5. If payment failed, user is redirected to failure page
PENDING INVOICES
The user can see pending invoices on their dashboard
PAYMENT RECEIPTS
The user can see payment receipts on their dashboard