Charging for your app with the REST Admin API: Concepts
You can configure billing on Shopify in a variety of ways to meet different needs. This section acts as a reference and introduces the core concepts for billing. If you want to create an annual subscription, then you must use the GraphQL Admin API.
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. To receive payment for the charge, your app must activate the charge.
For information on the different ApplicationCharge endpoints, see our ApplicationCharge reference .
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.
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 activated and approved, 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-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.
Shopify bills merchants for their invoices and apps on two different billing cycles - the Shopify subscription is invoiced on a 30-day cycle, and each paid app has an independent 30-day billing cycle. For more information about billing invoice cycles, see Recurring application charges.
For example, 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.
It’s important to remember that 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, the merchant gets invoiced right away. For recurring and usage charges, merchants get invoiced with their regular Shopify invoice cycle.
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 log: 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 does not 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, see App analytics