Advanced Billing Scenarios
Bill for overages
- Create a product
- Create a metered component
- When defining your metered component’s pricing, set the first bracket to $0. This represents the amount included in the base price of your product.
- Set the subsequent bracket(s) to your overage fees.
- Ensure to review in detail tiered pricing to understand the method of using this pricing scheme for components.
Example: a SaaS company charges for monthly SMS messages.
- If the base product is $99/mo for 10,000 SMS messages with a 5 cent overage for each additional SMS message, the above image represents a metered component setup.
- The pricing scheme above would be tiered (however, your scheme may vary depending on your needs).

Custom price or “name your price”
- Create a $0 product
- Create a quantity-based component
- When defining your quantity component, set unit name to a singular version of your currency (Example 1.1. below)
- Set pricing scheme to “per unit”, and checkmark “allow fractional quantities”. This will allow the price to be typed
Example 1: Configuring the custom pricing/”Name Your Price” model:
- Since each unit represents $1 and you accept fractional quantities, you can allocate any amount down to the penny.
- This is ideal for sales teams who define custom offers, non-profits who accept donations, and any other scenario where your pricing may have a large number of possibilities.

Example 1.1: (Line item from statement) The statement line item is structured based on the following: Component Name: Number of units
, Plural Unit Name, Price
.

Example 1.2: (Typing the price) Typing the price in the Chargify application. This price can also be optionally typed in a payment page or the billing portal.

Quantity based recurring billing
- Create a product
- If you only bill for the quantity of some unit and not a base product, create a $0 product.
- Create a quantity-based component

Bundled (rolled up) pricing
This pricing model is accomplished by creating one base product and adding multiple components that represent your add-ons. Based on your needs, you may need to include multiple component types.
- Create a product: If you only bill for the quantity of some unit and not a base product, create a $0 product.
- Create each of your components
- Focus on the “Configure Components” step when creating your components.
- Here you’ll select what components appear on your Public Signup Pages.
- If you are using the API, simply reference the component IDs you want to allow in the bundle for your particular product.
Example: This example would be accomplished using 3 (on/off components).
-
Other examples of bundled packages:
- A company that charges $100/month, plus $10/month per user
- An offer of a high priority support option for an additional $50/month
- A communications company allows customers to select any combination of TV, internet, and phone services

Multiple Subscriptions
The subscriptions will have the same billing cycle.
- Create a $0 product
-
Create components (In this use case, each component represents a subscription).
-
2a. Create on/off Ccomponents: Use this type of component if your subscriptions are a flat, non variable price, where a customer can only choose between subscribing or not subscribing.
-
2b. Create quantity components: Use this type of component if you allow your customers to add more than 1 of the same subscription type.
-
2c. Remove then $0.00 at first renewal message (optional)
-
Example 2a:Multiple subscriptions using on/off components
This image demonstrates a Public Signup Page with 3 on/off components.
- The complete product is $20/mo + the option of adding any of 3 extra subscriptions.
- If you do not want “extra” subscriptions that do not include a base price, simply make the base product $0/mo (or any billing duration such as $0/yr).

Example 2b: Multiple subscriptions using quantity components.
- This image demonstrates a Public Signup Page with 2 quantity components.
- The complete product is $0/mo + the option of adding a quantity of extra subscriptions.

Multiple subscriptions with different billing cycles
This example is useful if you only bill for the quantity of some unit and not a base product.
- Create a $0 product
- Create each of your components
- Since a billing cycle is defined at the product level, multiple billing cycles can only be achieved by creating more than one product.
- Multiple products means your customer will have a subscription to each, and will therefore receive two separate charges to their card.
- Depending on your use case, this may or may not fit.
- Create more than one product
- Create each of your components
- The customer subscribes to both products through one of the following methods:
- 2 Payment Pages
- Your customer signs up on the Public Signup Pages twice.
-
They will need to enter their credit card twice.
- 1 Payment Page + Manual Second Subscription
- Your customer signs up on the Public Signup Pages.
-
You will subscribe them to the second product manually in the application.
- 1 Payment Page + Webhooks + API
- Your customer signs up via a Public Signup Page.
-
When you receive a
signup_success webhook
, you use the subscriptions API to immediately create their second subscription by referencing theircustomer_id
orcustomer_reference
. - Chargify Direct + API
- Your customer signs up via your Chargify Direct signup form and you use the Subscriptions API to immediately create their second subscription.
Contract billing and cancellation fees
- Create a product that expires.
- This is sometimes referred to as contract billing.
Example: An example pricing model that bills $100/mo for a 12 month contract.


Optional Steps:
-
Require cancellation fees (disabling self-cancellation if you use the billing portal)
- Uncheck the box when configuring your billing portal settings to disallow the following:
- Immediate Cancellations
- Delayed Cancellations
- Uncheck the box when configuring your billing portal settings to disallow the following:
-
Add a one time charge and cancel your customer in the application
Charge customers on the same day each month (calendar billing)

Please see our descriptive article on calendar billing to explain full details on what’s possible with calendar billing.
-
Create a product that adheres to the rules of calendar billing:
- The product period must be 1 month
- The product cannot have a trial
- The product cannot have an expiration
-
Create a Public Signup Page to sign up subscribers on the intended date.
- Pay careful attention to the proration settings
One time charge for a new customer
This is most applicable if you just want someone to sign up, they pay you a set amount of money, and then the relationship is pretty much over.
- Create a product
- Set the product’s billing cycle and expiration for 1 day
- Remove the expires in 1 day message (optional)
One time charge for an existing customer
Charge a one time additional fee for a current subscriber.
- Select “subscription actions” menu in the subscription.
- Select one time change
- Enter the amount of the charge
- More details on one time charges here.
One time charge that happens more often for the same customer
You do not charge your customer on a recurring basis, however you want to store the credit card to apply one time charges when applicable.
- Create a monthly $0 product
- Create a subscription for an existing customer
- Apply one time charges in the application when applicable (see steps above)
Additional one-time charge resources available here.
One time gift
- A “gifter” buys a gift for a recipient.
- It is a one time payment, the gift is sent once, and that’s it.
- Create a product
- Set the product’s billing cycle and expiration for 1 day
- Remove the expires in 1 day message (optional)
Recurring gift with expiration
- A “gifter” buys a gift for a recipient such as a monthly box subscription.
- The “gifter” pays once, but the box is sent out on a recurring basis for for the duration of the gift.
- For example, a $120 gift for a 6 month subscription, would be $120 every 6 months and expires after 6 months.
- Create a product that expires.
- Set the product’s billing cycle and expiration for the duration of the gift
- Remove the expires in 1 day message (optional)
Recurring gift with expiration using a setup fee (alternative)
- Create a $0 product
- Make the product’s setup fee represent the cost of the gift
- Set the product’s billing cycle and expiration for the duration of the gift
- Remove the expires in 1 day message (optional)
Reseller
- You want to offer your clients a billing service.
- Chargify allows you to create a site for each of your resellers to have their own product catalog, customers, and settings.
- Most importantly, each site can connect to its own payment gateway, so payments can be sent to your reseller’s bank account.
- Create your first site: you will have a master site. This is the site where you bill your actual resellers.
- Create a site for each reseller

- Create the reseller’s products and/or create the reseller’s components inside each Site.
- If you want to allow the reseller to have full access to the Chargify application, but only access their individual site, you’ll need user permissions.

- Define the settings inside each site.
- If necessary, connect each site to its own payment gateway. This ensures that your resellers get paid directly to their bank account.
Percentage based billing
- Create a product
- Create each of your components if necessary
- When defining your metered component’s pricing, set the per unit cost to the decimal value that represents the percentage you want to charge. You may need to include fractional quantities as well (eg: you will be allocating revenue that contains cents).

- Manually allocate your customer’s revenue manually in the application.
Percentage based billing alternative
- Follow all the steps above, but with the exception that you create a $1/unit component instead.
- Using this strategy, you would calculate the 1% charge on your side and simply allocate the amount to charge.
- For example, if your customer makes $10,000 in a month, you calculate 10000 * .01, and report a quantity of 100 to Chargify.
- Since each unit is $1, we charge your customer $100.
Referrals (track salesperson for commissions)
This setup has a quite a few steps, but it will be well worth it. The final result is a Public Signup Page where your salesperson’s unique code is submitted along with the signup. You can then track which salesperson should get commission.
- Create a product
- Create a component if necessary
- Create a custom field: This will collect the unique ID that represents the salesperson. You will most likely want a text input and to display on subscription exports.
- You must enable the custom field on your Public Signup Page
- Check the box next to the custom field to display
- Find the custom field ID editing your custom fields:
- Click the name of your custom field, and then your custom field ID will appear in the URL.
- In this example, our custom field ID is
10463
.

-
Add your custom field as a parameter in your Public Signup Page URL
- Get your Public Signup Page URL
- Example:
https://chargify-sandbox.chargifypay.com/subscribe/ztn8pwg2/monthly-plan-2
- Example:
- Add
?sales=mysalespersonID
to the end of the URL- Example:
https://chargify-sandbox.chargifypay.com/subscribe/ztn8pwg2/monthly-plan-2?sales=mysalespersonID
- Example:
- Your syntax may vary.
sales
is the name of your custom field andmysalespersonID
is your unique code that represents your salesperson.
- Get your Public Signup Page URL
-
Prepopulate the custom field text input with your salesperson’s unique ID.

- On the same page from step 4, add the following Javascript. Replace
sales
with your custom field name and replace10463
with your custom field ID. - Hide the custom field (Add this code in the same section as step 7 above.)
Chargify Modern Public Signup Pages
Please use the below snippet if you are utilizing Chargify’s Modern Public Signup Pages.
Chargify Classic Public Signup Pages
Please use the below snippet if you are utlizing Chargify’s Classic Public Signup Pages.
Refer-a-friend
- Create a product
- Create a component if necessary
- Set up your referral discounts: follow steps 1 and 2 in the configuration section
- Put referral code in email templates so your customers can refer a friend via one of the following:
- Give a link
-
Give a referral code: In your email template, you can include “Refer a friend with the code
{{subscription.referral_code}}
”
- Social media (optional) - Spread the word by allowing your customers to link their referral codes on social media. You can put the contents of step 4 in your email templates. If you want to display these links on your website, you can get the unique ref ID for each customer using the Subscriptions API.
A great example of usage is to create a Twitter button for your page. This would bring the customer to a page where they can submit their tweet.
Recurring with flat recurring shipping fee
- Create a product
- Create an on/off component
- Prepopulate the component on the Public Signup Page
- a. Find your component ID in your catalog by viewing the component from the list

- b) Get your Public Signup Page URL
- c) Add the following parameter to your URL (replace x with your component ID)
?components[][component_id]=x&components[][allocated_quantity]=1
Example page with pre-populated on/off component.
Recurring with fixed setup fee
- Create a product
- Define your setup fee:

Recurring with variable setup fee
- Create a product
- Create a metered component as your variable setup fee.
- When defining your metered component, set the Name to “Setup Fee”
- Set the Unit Name to a singular version of your currency, and define your pricing as a $1/unit with fractional quantities.
- This will allow for a custom setup fee down to the penny.
Recurring with setup fee and trial
- Create a product
- Define your setup fee (using a fixed setup fee)
- Choose when to charge setup fee - The “When to Charge the Setup Fee” option only applies to the setup fee cost defined in the Initial/Setup Fee field.
Example: This is a free trial for 7 days with a $15 setup fee that charges before the trial begins. Alternatively, you can charge the setup fee after the trial period.

Each component has a setup fee
This example assumes you need to charge a setup fee for each quantity component.
- Create a product
- Create a quantity based component
- Create a metered component: This is your one time setup fee for each quantity component
- Find the component ID for both of your components
- In the following JavaScript snippet, replace XXXXX with your component IDs. The first one will be your quantity component ID, the second one will be your metered component ID.
- Place this code in Public Signup Page default settings for all pages
- …or Public Signup Pages JavaScript for individual pages.
//sets two component values equal to each other
$(function () {
var component1 = $("#component_allocated_quantity_XXXXX");
var component2 = $("#component_allocated_quantity_XXXXX");
component1.change(function(){
component2.val($(this).val());
});
});
- Go to your payment page, type a value for the quantity component, and click update totals. Verify the metered component matches.
- If Step 6 is successful, add one more line of JavaScript to hide the metered component from view. Make sure XXXXX is your metered component ID.
//hide a component on the payment page
$("#component_allocated_quantity_XXXXX").hide();
Allowing donors to “name my price” for recurring donations
If you have a charity or non-profit organization that collects donations from people, you may want to allow your donors to enter any amount, and then have that amount repeat every month or every quarter, etc.
Chargify is designed around the idea that product prices are predefined in Chargify, so how to allow each donor to enter the amount they want may not be obvious. But there is a way! You’ll set up a free recurring product and then add a “quantity component” to capture the recurring donation amount from each donor:
- “Sacramento Animal Shelter” (product Family name, which appears on hosted signup page)
- “Monthly Donation” (product name): $0 per billing period. Period = 1 month.
- “Monthly Donation Amount” (quantity component name): $1 per unit
Here’s how this works:
- Your donor will sign up for a free recurring product, but there will also be a quantity component added to that subscription.
- A quantity component rides along with a product and bills whenever the product bills.
- Your donor enters the amount they want right on the Chargify Public Signup Page, by entering a quantity for the component.
- Each unit of the component is $1, so by entering “17”, the donor will pay $17 per month.
Now, the Public Signup Page usually wants to display more info than you’ll want in this case. For instance, showing your donor that the product is a $0 product will be confusing. So here is JavaScript that you can upload in your Chargify hosted page settings to make the form perfect for donations:
function hideRecurringLineItem(){
$('#summary-recurring-charges').hide();
$('.component-info').hide()
$('.line-item_component').each(function(){
var txt = $(this).text();
$(this).text(txt.split(":")[0]);
})
}
$(document).bind("afterSummaryRefresh", hideRecurringLineItem);
Here’s the result…
