Create Your First Billing Model

So, now that you’ve set up your Business Console and connected your Gas and Treasury Wallets, you can go ahead with creating your first billing model! 

You’re able to create billing models whether in Testnet or Mainnet! The difference between these two networks is that whilst in Testnet you can play around with the features of the Business Console without using up any of your PMAs – we use Test PMAs in this feature (check out our video for how you can add these!). And then, when you’re ready to go ahead with receiving payments from customers, you can make the switch to Mainnet. 

So, to create your billing model (whether in Testnet or Mainnet), you first need to create at least one product, let’s get started!

Creating a Product 

Your product is the best way to define your goods/services and you can create different billing models for each product you’ve made. You can access your products from the ‘Products’ button on the left-hand side of the Business Console. 

To create a new product just click the ‘+New’ button in the upper right-hand corner of the Products page, where you’ll then be prompted to fill in some information about the new product you’d like to add. 

You’ll then need to fill in the following fields on the New Product page: 

  • Product Image: in the accepted file formats PNG or JPEG, with a maximum file size of 1MB. 
  • Product Name: maximum of 50 characters. 
  • Category [optional]: select the most suitable category for your product/service from the options. 
  • Product Description [optional]: briefly describe what your product is, maximum of 140 characters. 
  • Product Tags [optional]: add some keywords that would describe your products, remember to press enter after entering each tag to add it. 

Once you’ve filled in all the fields just click ‘Create Product’ and you should see your new product appear on the Products page! 

When in Mainnet, remember that it is no longer possible to edit or delete your product once you have active customers. So, you won’t be able to change the product if there are customers already signed up to any billing models. 

Creating a New Billing Model 

So, you have your first product, now to create a billing model so you can receive payments for it! The billing models reflect the payment types for customers, and currently, we have 5 models you can choose from: 

Single PullPayment 

  • Accept a one-time payment from your customers. 
  • Example: One-time payment of $5.00 

Dynamic Single PullPayment 

  • Accept a one-time payment from your customers, but dynamically set up the price per case. 
  • Example: Works like a ‘Single PullPayment’ but properties like currency, price and name can be changed directly on your site without having to go through the Business Console. 

Subscription PullPayment 

  • Create a recurring billing model to charge customers with a fixed amount at a predefined interval. 
  • Example: Monthly subscription of $12.99. 

Single+Subscription PullPayment 

  • Accept a Single PullPayment followed by a recurring payment. 
  • Example: Single payment for a 3-day trial and then a monthly subscription. 

Auto Top-Up PullPayment 

  • Charge an initial amount and automatically recharge whenever the customer’s account reaches a certain threshold. 
  • Example: A customer’s Gaming account has a minimum threshold of $100. If the customer makes a payment that updates their balance to $80 their account is automatically topped up to $300 per the smart contract they signed. 

Let’s go through the steps of setting up your first billing model! 

Step 1: Choosing your billing model type 

At this stage you will need to choose the type of billing model: 

Step 2: Name and description 

When choosing a billing model (other than Dynamic, where the properties will be filled in on the website), you will need to specify these details here: 

The Internal Reference Name is the name you want to use to describe the billing model within your business, like ‘BM-1’, just choose something convenient to you! Then just go ahead and fill in the billing model name and description. 


If you’ve chosen the Dynamic Single PullPayment, then Step 2 is going to look a little different for you. 

Here you can choose which properties you want to specify on the Business Console and which ones you’d like to leave to be specified on your website. For example, you can leave the name static and have the description changeable. 

Step 3: Payment Details 
Single PullPayment 

If you’ve chosen the Single PullPayment billing model type, you’ll need to specify the price and the local fiat currency you want to display on your website. So then, once the customer initiates the payment, the fiat value will be converted to PMA based on the current exchange rate. 

Dynamic Single PullPayment 

When choosing the Dynamic Single PullPayment, the only thing you need to do here is to decide whether the fiat currency will be set in the Business Console or on your website. As per the name of the billing model, the price is dynamic by default! This means that if you want the price to be static, it’s best to pick the Single PullPayment as your preferred billing model. 

Subscription PullPayment 

For the Subscription PullPayment you’ll need to fill in a few more details: 

  • Currency and Price: just the same logic as we mentioned in the Single PullPayment billing model 
  • Billing Cycle: how often your customer should be billed 
  • Recurrences: how long you’d like to bill your customer for 
  • Trial Period: give your customers the option of a trial before subscribing 
Single+Subscription PullPayment 

This one is pretty similar to the Subscription PullPayment, the only difference being that you will also have to set: 

  • Initial Charge: tells the customer the sum they need to pay before the subscription, for example, it may be less than the subscription payment if you would like to offer a ‘new member’s promotion’ 
  • Start Subscription Billing (after initial charge): when the subscription will start after the initial payment has been made 

Just keep in mind here that you won’t be able to set a trial period in the Single+Subscription PullPayment billing model. 

Auto Top-Up PullPayment 

For the Auto Top-Up billing model, we need to make sure we fill out the following fields: 

  • Initial Charge Setup: 
    • Tells the customer the first sum they need to pay before the Auto Top-Up is initiated. 
  • Auto Top-Up Charge: 
    • Automatically Recharge: specifies how much the customer’s account is credited when the auto top-up threshold is reached 
    • If the customer’s balance drops to: and here you specify the threshold – so, the lowest amount the customer can have in their account before it’s automatically topped up 

The Customer Auto Top-Up Settings allows you to suggest a maximum spending amount to your customers. This isn’t locked and the customer can modify it, but this just helps to give them an idea of how much they’re wanting to spend. 

Step 4: Gas Fees 

So, after you have selected the terms for your new billing model, the next page shows you what you can expect to pay in Gas Fees for the transaction you’ve just set up. Our built-in estimator takes all the guesswork out of it for you and shows you whether you’d currently have enough ETH in your Gas Wallet to receive payments using the billing model you’ve just set up. 

Billing Model Overview 

You have just successfully created your first billing model!  

Here in the overview, you can see all the details related to your new billing model and also a preview of the QR-Code which can be embedded into your website, or you can use the PumaPay ‘Pay’ button. 

If you’ve created your billing model in Mainnet, then you won’t be able to use this function or receive payments with it until everything’s been approved by our Compliance Team. However, you’ll be able to preview the ‘Pay’ button or QR-Code for any of the billing models created in Testnet straight away! 

It’s really easy to add the QR-Code or ‘Pay’ button to your site, all you have to do is copy and paste the snippet into the HTML of the page you want to display it on – no extra coding or editing necessary. 

And everything, like your business and billing model details, will be embedded into the snippet. So, when the customer scans the QR-Code and approves the smart contract, you’ll receive the PMA tokens to your Treasury Wallet based on the terms you set in your billing model. It really is as easy as that! 

Share on facebook
Share on twitter
Share on linkedin
Share on reddit
Share on telegram
Share on email
Scroll to Top