You can configure billing on Shopify in a variety of ways to meet different needs. This guide introduces the core concepts for billing.
If you want to create an annual subscription, then you need to use the GraphQL Admin API.
One-time application chargesAnchor link to section titled "One-time application charges"
A one-time application charge is a one-time charge created and issued to the merchant for purchasing your app. After accepting the charge, the merchant is billed immediately on the credit card associated with their Shopify account.
As of API version 2021-01, when a merchant accepts a charge, the charge immediately transitions from
active. After the charge is activated (the charge is in an
active state), you get paid.
Recurring application chargesAnchor link to section titled "Recurring application charges"
You can charge merchants for your applications on a recurring billing cycle by creating and issuing a recurring application charge. The recurring application charge is applied every 30 days from the day the merchant accepts the charge. This means a shop will have its own 30-day billing cycle with Shopify, plus an independent 30-day cycle for each recurring app charge.
How it worksAnchor link to section titled "How it works"
You create a subscription for the merchant with an API call, and then redirect the merchant to the
confirmationUrl for their approval. When the merchant approves the subscription, they're redirected to the
returnUrl you specified on the subscription and the charge is automatically activated. The merchant is billed and you'll be paid as soon as the merchant is invoiced by Shopify.
Here's an example timeline:
|Day 0||Shop signs up; 30-day Shopify billing cycle starts.|
|Day 5||App is installed; 30-day recurring app billing cycle starts; recurring charge is added to shop's next invoice.|
|Day 30||Shop is invoiced; app charge appears for the first time.|
|Day 35||Recurring charge cycle restarts; recurring charge is added to shop's next invoice.|
|Day 60||Shop is invoiced; app charge is included.|
After a recurring application charge is approved and automatically activated, the system has to handle the case where future payments are declined. If a shop stops paying its bills, then Shopify will freeze the account. This means that your recurring application charge will be frozen as well and you will not get paid. In the event that a shop starts payments again, the shop will be unfrozen and charges will resume.
Service should continue to be provided to a shop as long as their recurring charge is in the Active state.
Usage chargesAnchor link to section titled "Usage charges"
Usage-based charges let your app charge a variable monthly fee. Your app can charge fees based on a number of actions or conditions, such as the number of products fulfilled per month or the number of orders processed by your app.
Getting paidAnchor link to section titled "Getting paid"
Shopify bills merchants for their invoices and apps on two different billing cycles:
- The Shopify subscription is invoiced on a 30-day cycle.
- Each paid app has an independent 30-day billing cycle.
For more information about billing invoice cycles, refer to Recurring application charges.
If a merchant signs up for Shopify on January 1st, then their first invoice will be on that day and their second invoice will be on January 31st. Apps work similarly. If a merchant installs and agrees to pay for your app on January 5th, then their app billing cycle is from January 5th up to and including Feb. 3th. The merchant will see the charge for the app on their invoice on January 31st. Their next payment period for the app will begin on Feb. 4th.
ConsiderationsAnchor link to section titled "Considerations"
You get paid only after the merchant has paid their Shopify invoice. After that, Shopify pays app developers twice a month, covering periods of the 1st-15th of the month and 16th-31st. It might also take a few more days for the funds to be deposited into your account.
If you’re using an application charge, then the merchant gets invoiced right away. For recurring and usage charges, merchants get invoiced with their regular Shopify invoice cycle.
Viewing your earningsAnchor link to section titled "Viewing your earnings"
There are several ways to see your earnings from the Partner Dashboard.
The Payments page includes all of your earnings from apps, themes, and affiliates. If you click an individual payment period, then you can see the app name and amount for that period. You can also export your payments as a CSV.
The Apps page has several areas that report billing information:
Earnings chart: An aggregate of all the charges that have been paid out or are pending over time. It is also broken down by billing endpoint.
App history page: A live log of all events where you can filter through the stores and find when a merchant install/uninstalled an app, or has approved a charge. It doesn't include when a merchant has paid Shopify.
Export payment history: A CSV file of all the stores that have paid for your app and whose funds have been deposited into your account.
For a detailed description of areas that report billing information, refer to Track app usage metrics with the Partner Dashboard.
Determine your billing model: Familiarize yourself with the REST Admin API endpoints related to billing and understand how the API resources can best suit your billing model.
Implement your billing model: Implement your billing model using the ApplicationCharge, RecurringApplicationCharge, and UsageCharge resources.