Platform Docs

Configuring billing

After you’ve set up your developer accounts and billing information, you can now set up pricing tiers for your apps.

Set up a tier on the Pricing & Distribution page of your app on the Developer Dashboard. Then, use the REST API endpoint or the Android AppsConnector method to send metered tier events to Clover.

Before you decide the tiers, you must clearly understand each tier type available.

Set Up Pricing Tiers for Your App

Log in to the Developer Dashboard and set up tiers for your app. Follow these steps:

  1. Click your app in the Your Apps list to expand the menu for an app.
  2. Click Pricing & Distribution.

To enable a free trial for your app, your app must be approved for publishing on the Clover App Market. After the app is approved, you can enable a free trial period ranging from 14 days up to 90 days in the section under Pricing & Distribution before publishing it to the Clover App Market. Click Edit in the Free Trial section to select a trial period.

Billing begins on the day of installing the app or after the end of the trial period. Clover adds a partial monthpartial month - The first prorated charge added when a merchant installs a new app and the installation occurs after the first of the month. charge in the Pending charge status at the end of the trial period. The status changes to In Progress after the merchant statement is generated at the end of the month.

Subscription Pricing

To set up subscription pricing, click Add Tier under Subscription pricing.

  1. Enter a name and click Add New Country.
  2. Ensure Enabled is selected if you want to enable the tier right now.
  3. Select a country from the Country list to add a country where this tier will be available.
  4. Set up a monthly price for paid apps or use the default value as 0.00 if the app is free.
  5. Enter a meaningful tier name such as Pro for a paid app.
  6. Optionally provide a description for the tier.
  7. Add additional countries, as needed, and repeat steps 2-6.
  8. Click Save.

Metered Pricing

To set up metered pricing, click Add Tier under Metered pricing.

  1. Enter a name and click Add New Country.
  2. Ensure Enabled is selected if you want to enable the tier right now.
  3. Select a country from the Country list to add a country where this tier will be available.
  4. Enter a price to charge per action value.
  5. Enter an action name.
  6. Add additional countries, as needed, and repeat steps 2-5.
  7. Click Save.

REST API Endpoint: Use the Apps REST API endpoint or the Android AppsConnector method to record the metered event actions in your app. Clover billing uses this information to generate merchant statements.

Use the metereds endpoint to send the ID to Clover each time the merchant takes an action.

POST /v3/apps/{aId}/merchants/{mId}/metereds/{meteredId}

See Using Clover REST API for more information.

Android AppsConnector Method: The Android AppsConnector Method for metered billing is: logMetered(String meteredId, int numberOfEvents)
Android Example: The following example demonstrates how to implement metered billing using the Android AppsConnector method.

Account account = CloverAccount.getAccount(this);

final AppsConnector appsConnector = new AppsConnector(this, account);

new AsyncTask<Void, Void, Void>() {
  @Override protected Void doInBackground(Void[] params) {
    try {
      appsConnector.logMetered("{meteredID}", 1);
      return null;
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    return null;
  }
}.execute();

At the end of the month, Clover calculates all the charges for the actions and generates the merchant statement. The merchant can see their charges and statements on the Merchant Dashboard.

You can also enable both subscription and metered billing for your app.

Getting a Merchant's Billing Information

After you publish your apps, you can track information about how your merchants are using your apps using the billing_info endpoint. You can track:

  • A merchant's current subscription tier
  • The start time if the merchant is using a free trial period in their subscription
  • The merchant account status: active, lapsed, inactive, suppressed, or closed.

The merchant’s account can be in one of the following statuses:

  • Active: A merchant account that is currently active.
  • Lapsed: A merchant account which is in ACH Reject and is incurring charges.
  • Inactive: A merchant account is Inactive when it has been 90 days since the merchant has been in a Lapsed status.
  • Suppressed: A merchant account that is suppressed and marked non-billable. This stops the merchant from incurring further charges on their account. Merchants can be suppressed for reasons such as it is a demo merchant account, test merchant account, or the merchant’s country is a pilot. Merchant accounts can also be temporarily suppressed and marked non-billable if their account has lapsed and Clover can't collect payments from them.
  • Closed: A merchant requested to close their account with Clover. They can no longer install paid apps or upgrade to paid subscription plans for apps on the Clover App Market.

REST API Endpoint: The REST API endpoint is:
POST /v3/apps/{aId}/merchants/{mId}/billing_info
Android AppsConnector Method: The Android AppsConnector method for obtaining merchant billing information is: getAppBillingInfo()
Android Example: The following snippet demonstrates how to obtain merchant billing information with the getAppBillingInfo() method.

Account account = CloverAccount.getAccount(this);

final AppsConnector appsConnector = new AppsConnector(this, account);

new AsyncTask<Void, Void, AppBillingInfo>() {
  @Override protected AppBillingInfo doInBackground(Void[] params) {
    try {
      return appsConnector.getAppBillingInfo();
    }
    catch (Exception e) {
      e.printStackTrace();
    } 
    return null;
  }
}.execute();

See the REST API Reference and Using Clover REST API for more information.

Using Targeted Links

After you've set up your subscription tiers, you can promote your app tiers by sending merchants to your app using a link that pre-selects a given subscription level. You can showcase higher subscription tier benefits to logged in merchants.

To get a direct link to a tier, add the subscriptionId=[SUBSCRIPTION_ID] query parameter to the URL.
https://www.clover.com/appmarket/apps/[APP_ID]?subscriptionId=[SUBSCRIPTION_ID]

You can also launch a subscription page from an Android app. For more information, see our sample code. You can also see the full example.

📘

NOTE

When using targeted links, provide the public URL for your app to merchants.

Tracking Billable Merchants

Billable merchants have active accounts with Clover that are not test or demo accounts or are not suppressed. You can track billable and non-billable merchants on the Installs page of your app.

Use the following endpoint to determine whether a merchant is billable. The isBillable property values are returned with:
GET /v3/merchants/{mId}?expand=gateway

Using the expand=gateway parameter prevents the isBillable field from returning as null. If isBillable is true, the merchant is a live, billable merchant.

See the REST API Reference and Using Clover REST API for more information.

After publishing your apps, you can track revenue generated by your apps. Learn about the billing lifecycle to correctly interpret your statements, amounts disbursed to you, and track refunds.

Updated 26 days ago


Configuring billing


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.