Billing for your app
The Billing API enables you to process charges through Shoplazza's merchant invoicing system, and provides the following benefits:
- Charges appear directly on the merchant's Shoplazza invoice, so merchants don't have to enter their credit card information to pay for apps.
- Apps that use Shoplazza's Billing API have higher free-to-paid conversion rates because charges originate directly from Shoplazza.
As a Partner, you choose your billing model and set your prices. Shoplazza collects the funds and makes sure you get paid.
The Billing API is mandatory for all apps that are distributed through the Shoplazza App Store that want to charge merchants, unless you have been notified by Shoplazza. Contact us if you have questions or concerns.
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 ApplicationCharge or the RecurringApplicationCharge api.
- Shoplazza 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 returnUrl that is specified by your app when it issued the charge.
- If the charge is declined, then Shoplazza redirects the merchant to Shoplazza admin, and provides a notification message about the app charge being declined.
Types of transactions
You can use the following Billing API objects to make transactions between Partners and merchants:
- The Application Charges object is used for items or services that are billed once. Each purchase needs to be approved by the merchant.
- The Recurring Application Charges object 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.
Webhooks for billing
You can register Webhooks for specific store events using the Create Webhook api from version 2022-07. For billing, the following webhook topics are available:
- The app/purchases_one_time_update webhook topic is triggered when the status of an ApplicationCharges object is changed.
- The app/subscriptions_update webhook topic is triggered when the status of an RecurringApplicationCharges object is changed.
- The app_subscriptions/approaching_capped_amount webhook topic is triggered when the balance used on an RecurringCharge capped amount crosses 90% of the capped amount.
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.