Billing for your app
The Billing API enables you to process charges through Shopify's merchant invoicing system, and provides the following benefits:
- Charges appear directly on the merchant's Shopify invoice, so merchants don't have to enter their credit card information to pay for apps.
- Apps that use Shopify's Billing API have higher free-to-paid conversion rates because charges originate directly from Shopify.
- You automatically receive a revenue share from Shopify. Your share of the revenue is defined in the Shopify Partner revenue share agreement.
- Shopify handles all chargebacks.
As a Partner, you choose your billing model and set your prices. Shopify collects the funds and makes sure you get paid.
The billing processAnchor link to section titled "The billing process"
- A merchant starts an action that includes a charge, such as an app installation, a service plan upgrade, or an individual purchase.
- The app creates a charge for the merchant, using the
- Shopify verifies the charge and returns a
confirmationUrl, redirecting the merchant to a page where the merchant approves or declines the charges for an app subscription.
If the merchant accepts the charge, then the merchant is redirected to a
returnUrlthat is specified by your app when it issued the charge.
If the charge is declined, then Shopify redirects the merchant to Shopify admin, and provides a notification message about the app charge being declined.
Types of transactionsAnchor link to section titled "Types of transactions"
You can use the following Billing API objects to make transactions between Partners and merchants:
AppPurchaseOneTimeobject is used for items or services that are billed once. Each purchase needs to be approved by the merchant.
AppSubscriptionobject is used for items or services that are billed on a recurring basis. The subscription needs to be approved once by the merchant, and any recurring charges are billed automatically. Usage records are billed with app subscriptions.
AppCreditobject is used to handle purchase adjustments. App credits are redeemed on future app purchases. Shopify deducts the purchase adjustment from your Partner account's future payouts.
Webhooks for billingAnchor link to section titled "Webhooks for billing"
You can use the
webhookSubscriptionCreate mutation to register webhooks for specific shop events. For billing, the following webhook topics are available:
APP_PURCHASES_ONE_TIME_UPDATEwebhook topic is triggered when the
AppPurchaseOneTimeobject is changed.
APP_SUBSCRIPTIONS_UPDATEwebhook topic is triggered when the
AppSubscriptionobject is changed.
Best practices for app billingAnchor link to section titled "Best practices for app billing"
Consider the following best practices when developing your business model:
- 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 your app before they pay for it.