Determine your billing model
The Billing API is composed of three different resources: ApplicationCharge, RecurringApplicationCharge, and UsageCharge.
To determine your billing model, you'll need to consider each resource described below and the billing scenario you'd like to implement.
Application chargeAnchor link to section titled "Application charge"
The ApplicationCharge resource facilitates one-time charges. This type of charge is recommended for apps that aren’t billed on a recurring basis, such as apps that you can support without recurring revenue. For example, if your app allows merchants to import data from other platforms, then you can charge a $20 fee for each import job. Similarly, apps that don't have high ongoing operating costs (for example, apps that create simple animations on a merchant's storefront) can use the ApplicationCharge resource.
Recurring application chargeAnchor link to section titled "Recurring application charge"
The RecurringApplicationCharge resource facilitates a fixed-value 30-day recurring charge. This type of charge is best suited to apps that provide continuing service to merchants. For example, an app could offer a tiered pricing model depending on a store’s customer count ($30/month for fewer than 1,000 customers, $200/month for up to 10,000 customers, $500/month for unlimited usage).
Usage chargeAnchor link to section titled "Usage charge"
The UsageCharge resource facilitates a variable-value charge, and needs to be associated to a RecurringApplicationCharge. This charge is best suited to services that require users to pay based on usage events. See the implementation guide, for step-by-step instructions of how to implement the UsageCharge and RecurringApplicationCharge resources.
Implement your billing model: Implement your billing model using the ApplicationCharge, RecurringApplicationCharge, and UsageCharge resources.
Upgrades and downgrades: Learn how to upgrade or downgrade a merchant's plan.