Once you decide to monetize your app or APIs, the journey begins to find a simple and robust solution for billing. At Moesif, we know that a billing solution is actually really tough to implement. Getting your product from “0-to-monetization” is not always a straightforward path, even if it should be. Our no-code approach to billing is a simple and elegant way to very rapidly gain the capability to bill customers for usage. Easy monetization is the premise for our latest feature for generating revenue from your apps and APIs. Our newest feature can be found under the Billing Meters screen in Moesif.
Why use a billing meter?
Metering usage of your product, and charging for that usage, is one of the most common ways to monetize technology products. To do this, you’ll need to monitor usage statistics, send the metrics to a billing provider, and then have the billing provider collect the funds.
For those who have implemented a usage-based billing solution for their products, you know that the process can be quite complex. It involves gathering a lot of data, getting that data to the right place, collecting the funds owed, and, if the invoice isn’t paid, putting governance in place so that the user can no longer access the service. There’s a lot of coding, integration, testing, and support that goes into creating such billing systems.
Moesif makes this easy for you by collecting a vast array of metrics that can be billed upon, and then automatically rounding them up by user and/or company. With Moesif, all of the data you need to accurately bill is already there, which is incidentally why we believed creating a billing meter feature made a lot of sense. We have also done the work for you to create an integration between Moesif and Stripe. This means that with a couple of clicks, you’ll be able to bill customers for usage. You’ll have billing capabilities in a matter of minutes instead of days, or even weeks, depending on the complexity.
How to create and use a Billing Meter in Moesif
Once you’ve integrated your APIs with Moesif, monetizing them is very simple. There are a few steps after you’ve integrated with Moesif to get you to the point where you can collect revenue. These steps include:
* Setting up products and prices in Stripe * Adding the Moesif webhook to Stripe * Plugging the Stripe API details into Moesif * Configuring the billing parameters in Moesif * Activating the billing meter
All of these steps are very intuitive and take only a matter of minutes.
Setting up products and prices in Stripe
The first step to monetizing is to actually set up some products in Stripe for usage to be billed against. To set up a product in Stripe you’ll need to click on Products in the header menu.
Once you are on the Products screen, you can click + Add Product in the top right of the screen to create a new product.
The product can contain whatever configuration you need, but you must ensure that at least one Price entry is created. The Price must be configured as:
- Billing period should be Monthly
- Usage is metered
- Charge for metered usage by Sum of usage values during period
- Adding a Price Description is recommended
An example configuration for a Product will look like this:
Once your product is configured, click Save product at the top right of the screen.
At this point, we now have a product that we can use with Moesif and begin billing for usage.
Configuring Stripe in Moesif
Once your products and prices are created, it’s time to begin to integrate Stripe with Moesif. To begin configuring Stripe in Moesif, go to the Billing Meters page and click the Edit Billing Provider dropdown in the top right corner of the screen.
This will bring up the Stripe configuration screen walking you through the integration. From this screen, you can get all of the info needed to plug Stripe into Moesif. Each step for configuration is covered within the modal.
Adding the Moesif webhook to Stripe
The first step in the integration is to add the Moesif webhook into the configuration in Stripe. Adding this allows Stripe to send subscription updates to Moesif.
To add the Moesif webhook to Stripe, from the upper right-hand side click on Developers, and then Webhooks in the left-side menu. This will bring you to the Webhooks page where you can view existing webhooks and add new ones. To add a new webhook we will click the Add an endpoint button at the bottom of the screen.
From here, we will plug in our Moesif API endpoint URL and configure the events to listen to. You’ll want to copy your Moesif Webhook URL into the Endpoint URL field and then click the + Select Events button.
These details can all be found on the Stripe configuration page in Moesif mentioned in the previous section.
You should select the option under Customer for Select all Customer events. After this, click the Add events button at the bottom of the screen.
After this, you’ll be returned back to the original screen where you added the endpoint details. Scroll to the bottom of the screen and click Add endpoint to save the endpoint to Stripe.
Plugging the Stripe API details into Moesif
For Moesif to add usage quantities to subscriptions in Stripe, we need to add the Stripe API details into Moesif. This is done in the Stripe configuration screen in Moesif, the same screen we’ve been working with previously.
Currently, Moesif only supports version 2020-08-27 of the Stripe API so that field defaults for the Stripe API Version field.
For the Stripe API Key field, you’ll need to retrieve the API key from Stripe to plug it in. From the Developers screen, the same one we used in the previous step, you’ll click on API Keys. You’ll then be able to see the private key for your API in either the Secret key or a generated Restricted keys field on the screen. Either key can be used.
After copying the key from Stripe, you’ll paste this key into the Stripe API Key field back in Moesif. After doing this, back in Moesif you can scroll down to the bottom of the screen and click Save to save the configuration.
At this point, your Stripe integration is complete in Moesif and you can begin to use it.
Optionally, you have the ability to customize the Customer ID Source in Moesif as well. The default should work fine for most purposes but if you do need to customize it, it will allow you to specify how to map the Stripe subscription and customer objects to the company ID and user ID in Moesif.
Configuring the billing parameters in Moesif
Once the integration with Stripe is added, you can configure your billing parameters in Moesif. If you haven’t done so already, you’ll want to create a new Billing Meter. To do this, from Moesif you’ll need to click on the Billing Meter link in the left side menu as you did when you started the Stripe integration.
Once you’re on the Billing Meters screen, you’ll click the + Add Billing Meter button to begin creating a new billing meter.
Once on the Add Billing Meter screen, you’ll add in:
- Billing meter name
- Billing provider info
- Add the filter to specify what events to bill upon
In the below example I have set up a billing plan called My Billing Plan which uses Stripe as my billing provider. I’ve also decided to bill on any API call which has a response of 200 OK.
Once you have your details dialed in, you’ll see a visual representation of the filter output at the bottom of the screen. Although billing will only happen going forward, you will be able to see historically how your filter is working with existing data. This can help to make sure, especially with more complex filtering, that you have everything configured the way you require it.
Activating the billing meter
Our final step in monetization is to save and activate the billing meter. To do this we simply need to make sure that billing meter is turned on at the top of the configuration page.
And lastly, we need to click Create at the top of the screen.
You’ll then be prompted to confirm the billing meters creation in the modal that pops up after clicking on the Create button.
It’s important to note that once a billing meter is created, the criteria for filtering can not be changed nor the billing provider details. Only the name can be changed as well as the status of the billing meter can be toggled on and off. This is for compliance and auditing purposes. Billing meters can also not be deleted but can be archived if no longer in use.
We should now see our new billing meter appear back on the Billing Meters home page.
Now, we have successfully created a billing meter that will begin to send usage data to Stripe. This integration is possible in a matter of minutes with no code required. For further info, you can also check out our docs.
Try it for yourself!
If you have an API, or any other part of your product you’d like to monetize, Moesif can help. As noted in the steps above, it is an easy and rapid way to bring in revenue from your products. If you are already monetizing your product and looking for a simpler solution, our billing features are a great way to simplify your setup and reduce support costs around your existing monetization efforts.
Moesif also offers many other great features which bundle well with our billing functionality, including funnel metrics and retention analysis, automated user behavior emails, custom metric dashboards, and governance capabilities. Sign up today to get started with billing and much more.