Identify your business model

The GraphQL Admin API has three resources that can be used for billing: AppPurchaseOneTime, AppSubscription, and AppCredit.

To identify your billing model, consider each resource described below and choose the billing scenario you'd like to implement.

One-time app purchases

The AppPurchaseOneTime resource facilitates a purchase that is approved by the merchant.

There are two use cases for one-time purchases:

  • Pay one time: Create a single charge. After purchase, the product is always available to the merchant. For example, you could sell an email template, or a one-time service that is payed for only once (no recurring charges).
  • Pay as you go: Create many charges. You track the usage of your app and prompt the merchant with a new AppPurchaseOneTime when usage has been exceeded. For example, you could sell credits for a certain number of emails and prompt the merchant for re-purchase after the emails are used. Shopify does not handle inventory in this scenario.

App subscriptions

The AppSubscription resource enables subscription-based billing.

There are two use cases for subscription billing:

  • Recurring charges: Create a fixed-value, 30 day recurring charge. This type of charge is best suited to apps that provide continuing service to merchants.

  • Usage charges: Create app usage records to bill for variable usage. The total value of all usage records cannot exceed the capped amount.

Purchase adjustments

The AppCredit resource creates purchase adjustments for merchants who have the app installed. App credits are awarded immediately and are applied towards the merchant's future app purchases, subscriptions, or usage records. A corresponding deduction based on your revenue share is withdrawn from your Partner account. The total amount of all application credits awarded by an app cannot exceed the total amount the shop owner was charged in the last 30 days, or the total amount of pending payouts in your Partner account. The maximum amount of an app credit is $300.

Billing best practices

As you develop your business model, consider the following:

  • Simple and intuitive pricing is easier for merchants to understand.
  • Limiting the number of plans makes it easier for merchants to identify which plan works best for them.
  • Offering free trials encourages merchants to try using your app before committing to paying.

Where to go from here

Now that you're familiar with the billing resources, you can follow along with our detailed implementation guide, which offers step-by-step guidance.

Sign up for a Partner account to get started.

Sign up