billing

command
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

README

Billing Service

The billing service manages the billing of the customer.

Customers give us money in the following ways

  • Pay as you go - add a one off amount of money to your account
  • Subscription tiers - Pay us a set amount each month for some level of service. The money is also credited to your balance
  • Bundles (Future) - A bundle is a payment that gives you a bundle of usage at some beneficial cost. It could be $10 for an extra 50M requests or similar.

A billing account is set up which can have multiple users as billing admins to add / remove cards.

Responsibility

Usage is recorded against the project where project ID is recorded as the key's owner (TODO change key generation to do this rather than setting the user ID as the key's owner). Usage is tracked by the usage service and balance is tracked by the balance service. The billing service manages the coordination of various activities that results in the customer's payment details being charged.

Subscriptions

Subscription tiers are defined in configuration. Each subscription will need an equivalent product in Stripe which will manage the recurring billing, receipts, etc.

User flows

Add card - redirect to Stripe checkout to add card Add funds - use Stripe to charge the saved card Upgrade/Downgrade subscription to tier X - Set up subscription in Stripe, update quotas etc

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL