Forums/Getting Started/Tips & Tricks from Chargify

Defining a One-Time-Purchase Product

Michael Klett
posted this on May 10, 2011 08:41 pm

We occasionally hear from merchants who would like to set up a product that their customers can buy, but they don't want that product to recur. Instead, they want the product to generate one charge to their customer, and that's all.

Please note that this is different than executing an instant credit card charge, which is covered in another document. This page is about defining a Product, but one that only causes a single charge when your customer subscribes to it, then it quits.

We do not have a non-recurring product type. However, many merchants have set up recurring products to act as non-recurring products.

  1. Define a new product.

  2. Define a One-Time Up-front Charge that is the amount you want to collect once for this product.

  3. Define a Trial Period of 0 days for $0.

  4. Define a Recurring Price of $0 that is billed Every 1 Days.

  5. Define the Expiration of this product as 1 Day.

See the attached graphic for an example.

When your customer subscribes to this product (or if you subscribe them to this product), they will be charged the Up-Front Fee and then the product will go into recurring mode... but that will end 1 day later. And there will be no charge for the 1 day of recurring time that passed.

We realize this is not perfect, as it may be confusing to your customers to get a receipt with the above details on it, but as we mentioned above, it seems to work reasonably well for a number of merchants who need to occasionally sell a product that only charges their customer once.

Customer-Submitted Info

One of our merchants wrote a blog entry about doing this. He had concerns about how coupon discounts get applied and about how the receipt page shows up, so he worked on fixes for both issues.

http://blog.orangeslyce.com/2010/08/single-item-products-one-time-p...

Here's the CSS from the blog entry, to hide some of the receipt page text that may be confusing:

Simply add these 2 lines of CSS code to the custom CSS box and it will hide the confusing, unnecessary purchase summary text:

.section_one { display: none; }

.tint { display: none; }

This will hide all references to monthly billing or recurring payment.

 

Comments

User photo
Savvas Verdis

These options work very well for a business that relies both on subscriptions and one off payments. After a week of comparing the competition, Chargify is the closest match for this type of 'combined' business models. If only we could hack into the CSS of the Statements as well so that our customers would not see the 'Recurring' wording for the one-time purchases!  Any ideas Michael?

June 15, 2011 06:18 am
User photo
Kaushal Cavale

I have a product which is a download /install product and hence requires a one time charge. I tried entering 0$ for the recurring amount and 0 months for the time period. But I get the following error message 

There was a problem with your submission

Please correct the following problems:

Recurring Interval: must be greater than 0.

So how can I set up a one time payment plan?

July 13, 2011 01:48 am
User photo
Kori Francis
Chargify

Savvas,

You don't need to hack the statements - merely send them yourself. If you access the statements via the API, you can use the html version and add/remove whatever you like. Then sending it using sendgrid/postmark is a trivial thing.

-- Kori (@djbyter)

July 13, 2011 10:32 am
User photo
Michael Klett
Chargify Support

Kaushal: you have to set the recurring interval to something, i.e. 1 day, and set the expiration to the same.

July 13, 2011 11:36 am
User photo
Simon Renström

I'm surprised why there isn't a more simple way to add one-time purchase products mixed with your subscription products in an otherwise excellent service. Chargify, please add this feature!

Here's my custom javascript hack to hide the confusing payment details shown to customers ("$0 paid after 1 day"). It was quite difficult to implement since the payment details are injected after page load using ajax. It works in both Firefox and IE. You need to replace the product id with your one-time purchase product.

 

if ( $('#product_id ').val() == '12345' ) {
var sheet = document.styleSheets[0];
if (sheet.insertRule) // firefox
  sheet.insertRule(".section_one, .tint{ display:none; }", 0);
else if(sheet.addRule) // ie
  sheet.addRule(".section_one, .tint", "display:none;");  
}

November 29, 2011 08:47 am
User photo
Savvas Verdis

Nice one Simon! Does this fix the hosted payment page, receipt or statement?

December 22, 2011 01:07 pm
User photo
Simon Renström

You can only modify the hosted payment page.

December 22, 2011 01:13 pm
User photo
Mike Blackman

I have a similar scenario, and while I have not yet completed my Chargify implementation, I am considering doing this as a "Metered Usage Product".  I assume that if this product is used zero times, it won't even appear, but if I set it as being used once during a billing period, then it would appear and would not/should not be listed as "Recurring".

I theorize this based on the Chargify Docs I just read - Does this make sense - would it work?

January 18, 2012 11:56 am
User photo
Michael Klett
Chargify Support

@Mike Blackman: what do you mean by "won't even appear" and "would not/should not be listed as Recurring" - do you mean on the statements?  It sounds like it would work - I would encourage you to try it out.  You can force a new period (and a new statement) by manually changing the next billing date in the UI.

January 18, 2012 06:14 pm
User photo
Mike Blackman

Yes, I meant "won't even appear" on the statement.  The original post seemed to suggest a recurring product that costs $0 after the "trial" period, and then CSS hacks to "hide" the stuff that should not show.  Rather than trying to hide something that should not be seen, the "metered usage" looks like a good way to only have that add-on/1-time-charge show on the statement if it's actually used.

Thanks for the testing tip.

@Michael Klett: Aside, can someone at Chargify support please comment on this? http://help.chargify.com/entries/20847882-billing-dates-for-end-of-month-subscriptions  I read the Docs and searched but that unanswered question was all I could find - Thanks!!

 

January 18, 2012 06:41 pm