Understand application monetization responsibilities
Monetizing your app for Microsoft Dynamics 365 Business Central can be done in a couple of ways and these are some of the most common ways.
License Key
The license key option is one where the customer has a certain period in which they can try out the app.
After that period, the app locks some, or all the features until the end user enters a license key.
This license key could be sold offline, which brings in a manual process to sell the key, and to process payments outside the system.
Because a license key is usually not used for subscription billing, this isn't likely to be a popular choice for AppSource apps.
Registration Page
If you choose to use the registration process, you'll need to provide for an integration between the app and a registration server.
This registration server keeps track of registrations and app usage, so it should have capabilities to check if the customer is authorized to use the app.
The registration page would also have capabilities to process payments.
In addition to including monetization into your app, you'll also need to provide the registration server in the form of a website, or some sort of web service.
Integration with a Payment Provider
Integration with a payment provider is a variation of the registration server.
There are payment providers available in market that provide the ability to keep track of registrations and payments in exchange for a percentage of the registration charge.
The process for unlocking the app with a license key could work like this. The customer installs your app and gets a 30-day trial automatically.
After the 30 days, the app locks its features, and requires a license key to unlock those features.
The customer can then retrieve a license key by means of a manual and offline invoice process, or a self-hosted web site.
Because of the manual and online processing, this option would probably not work for high volume apps that are expected to be downloaded by many customers.
A registration page can be used to create your own registration and payment process.
There are many scenarios possible, but they all involve an integration between the app and the registration server to check if the customer is entitled to use the application, plus some functionality in your app to lock features if that isn't the case.
This way of doing it yourself, requires investment in creating and hosting a web server that keeps track of registrations, payments, and usage.
Integration with the payment provider is a variant of the registration page, but the main difference is that you use a payment provider to keep track of registrations and payments.
You can focus on the product rather than having to think about technologies that are probably new to you.
A payment provider is a trusted third party, and they typically will be responsible for keeping customer records safe, including credit card data.
There is one other question you need to consider; which calculation model should you select?
There are several calculation models possible:
Freemium
- Freemium means that the app offers limited features for free, and to get more enhanced features the customer needs to pay for it.
Purchase
- Purchase means that the customer pays a onetime fee for the app, and then they can use it indefinitely.
Subscription
A subscription is a price per a certain period, for instance a month or a year.
The price could be per tenant, per company, or per user.
Usage
- Usage means that the price is calculated based on the usage of the app. For example, the number of inserted entries or calls to a back-end service.
Trial
A trial is all the above calculation models that can be combined with a trial period, in which the customer can try out the app, without paying for it.
Ideally, during this trial period, all features of the app are available, and after a trial period has expired, the customer needs to start paying for the app.