How to use App Monetization in Microsoft Dynamics 365 Business Central – Part 1
Hello All,
In this blog, I am going to discuss What is App Monetization and how could you use in your project.
Monetization
At this moment, Microsoft AppSource does not have an option to let customers subscribe and pay for an app that they want to use. So that leaves partners with the task to integrate some way of monetization into their app.
Monetization options
There are several ways to achieve self-monetization. Some options are:
- Use a license key to unlock the app
- Host a registration page
- Integrate with a payment provider
License key
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 these 30 days, the app locks its features and requires a license key to unlock
- The customer can retrieve a license key by means of a manual and offline invoice process or a self-hosted web site
Host a registration page
A registration page can be used to create your own registration and payment process. There are many scenarios possible, but they all involve integration between the app and the registration server to check if the customer is entitled to use the application.
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
In fact, this 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 will be responsible for keeping customer records safe, including credit card data.
In this blog, you can see a demo integration with payment provider Stripe (http://stripe.com).
There are other payment providers as well, and if you feel that others might be the better option than this demo app can serve as an example of how to integrate with a payment provider in general.
Calculation models
There are several models on how to calculate a price for a product.
- Freemium: The app offers limited features for free. To get more features, the customer needs to pay for it.
- Purchase: The customer pays a one-time fee for the app and then can use it indefinitely.
- Subscription: Price per certain period, e.g. month of the year. The price could be per tenant, per company or per user.
- Usage: 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: All of the above calculation models 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. After the trial period has expired, the customer needs to start paying for the app.
Stripe payment provider
Stripe is an online payment provider that works in any country over the world.
They can work with 135+ different currencies and accept all major debit and credit cards. On top of that, the support of other payment methods like Bancontact, iDeal, SOFORT, Giropay, SEPA Direct Debit, Alipay and Bitcoin. This Blog describes how to make use of credit card payments in the combination of periodic payments.
Credit card data and PCI Compliance
Anyone involved with the processing, transmission, or storage of card data must comply with the Payment Card Industry Data Security Standards (PCI DSS). Stripe has been audited by an independent PCI Qualified Security Assessor (QSA) and is certified as a PCI Level 1 Service Provider. This is the most stringent level of certification available in the payments industry.
PCI compliance is a shared responsibility and applies to both Stripe and your business. When accepting payments, you must do so in a PCI compliant manner. The simplest way for you to be PCI compliant is to never see (or have access to) card data at all. Stripe makes this easy for you as they can do the heavy lifting to protect your customers’ card information. You can simplify your PCI compliance as long as you use their libraries to collect payment information and review and validate our PCI compliancy annually. Most users can validate their PCI compliancy by filling in the Self-Assessment Questionnaire (SAQ).
This blog describes how to make use of the Stripe.js and Elements library of Stripe. This allows you to be eligible for the simplest method of PCI validation: SAQ
- Stripe automatically creates a combined SAQ A and Attestation of Compliance (AoC) for you, available for you to download in your account’s compliance settings, and no action is required on your part to submit further proof of your PCI compliance.
To read more about Stripe and PCI compliancy, refer to this page: https://stripe.com/docs/security.
Stripe subscriptions
The most important benefit of Stripe is that they can automatically handle payments of subscriptions. It is possible to set monthly, yearly or custom payment periods. The amount can be based on a fixed amount, per-user or even on usage.
Subscriptions are based on products and plans. A Stripe product should represent an app or a set of features in your app. With a set of features, we mean a certain level, like ‘Standard’ and ‘Advanced’.
Each product in Stripe can have one or more payment plans. This is used to define the price for a certain period and has multiple options so define a price per user of for the whole subscription or based on usage.
The monetization demo described in this blog consists of two products, each with their own price.
Stripe supports to define custom fields. To distinguish between the Standard and Premium app, this demo app has created a custom field ‘Level’ which can hold the value ‘standard’ or ‘premium’.
Stripe dashboard
The Stripe dashboard can be opened via https://dashboard.stripe.com
Customers
Customers are created from the app. They appear automatically under the Customers tab in the menu. They can be viewed inside the Stripe dashboard.
Products
The product is visible under the Billing menu. Each product can have one or more price plans. A plan can be set up with an automatic trial period.
In our next blog, we will show you how to use App Monetization in your project…
If you wish for to get much from this post then you have to
apply such methods to your won website.
Thank You Highland Avenue Restaurant for your feedback,
There were three different methods suggested in the blog to handle App Monetization in Dynamics 365 Business Central.
We will write Part 2 of this blog and demonstrate in detail on “Integrate with a payment provider”.
Great Blog I wish I had one like this on my site.
Great Blog. I wish we had one where I work.
I’ll right away grasp your rss as I can not in finding your email subscription link or e-newsletter service.
Do you have any? Please allow me recognise so that I may subscribe.
Thanks. It’s very straightforward to find out any matter on web as compared to textbooks,
as I found this post at this website. Greetings from Carolina!
I’m bored to death at work so I decided to browse your site on my iphone during lunch break.
I love the knowledge you present here and can’t wait to take a look when I get home.
I’m surprised at how quick your blog loaded on my mobile
.. I’m not even using WIFI, just 3G .. Anyways, good blog!
Thank You John for your valuable feedback,
we will add and update you.
Thanks for finally talking about >How to use App Monetization in Microsoft Dynamics 365 Business Central <Loved it!
Hi there to every one, the contents present at this website are genuinely remarkable for people experience, well, keep
up the good work fellows.
What’s up, after reading this awesome piece of writing i am too delighted to share my familiarity here with mates.|