Charging for your app

If you want users to pay you for your app, you can use Shopify's Billing API to create application charges. There are three API endpoints for charging the merchants who use your app:

  • ApplicationCharge is used to bill your users one time only, for example when their free trial expires.
  • RecurringApplicationCharge is used to bill your users on a recurring 30-day billing cycle.
  • UsageCharge – use this API to charge merchants for your product when the fees are recurring, but vary from month to month.

We strongly recommend using Shopify's Billing API instead of a third-party solution to bill your users because:

  • the three application charge endpoints integrate into your apps easier than other payment systems.
  • the charges appear directly on your user's Shopify invoice – users don't have to input their credit card information again to use your app.
  • the correct amount of tax is charged automatically based on your local tax laws and the users' locations.
  • you automatically receive your 80% of the revenue share with Shopify, and Shopify's 20% is remitted at the same time.
  • use of our Billing API is required for public apps in Shopify's App store unless you've otherwise been notified by Shopify.

Did you know?

Shopify Partners are more likely to recommend apps they’ve used before. Consider allowing free app testing in Shopify Partner development stores to help increase your app sales. Development stores can be identified and granted free testing access through the Shop API. They show up as an 'affiliate' when you look up the 'plan_name'. (ie: { "plan_name" : "affiliate" })

If your app qualifies, please email us at apps@shopify.com to get your app listed on our Partner-friendly app list.

How it works

Creating and issuing charges to users is a multi-step process:

  1. You need to identify a trigger for the charge (e.g. upon app installation, service plan upgrade, individual purchase, etc.).

  2. Your app needs to create a charge to be issued to the user (e.g. recurring or one-time charges). Shopify will verify the charge and return a confirmation_url that will redirect the users to an area where they can accept/decline the charge.

  3. When a user accepts/declines the charge they will be sent to a return_url that you specify when issuing the charge. The return_url contains an id for the charge.

  4. If the user accepts your charge, your app needs the id to activate it. Once the charge is activated, you will get paid. Failure to activate the charge will result in the charge not appearing on the store owner's invoice and consequently you will not get paid.

When charging for apps through Shopify's Billing API, the following things can be set up quickly and easily:

  • free trials
  • subscription renewals
  • upgrading/downgrading plans

Continue reading about set up for one-time application charges or recurring application charges.