Charging for your app with the REST Admin API: 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 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 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 charge
The UsageCharge resource facilitates a variable-value charge, and must 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.
Next steps
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.