Accounting for unused trial time

Frank Koehl's Avatar

Frank Koehl

25 Sep, 2009 07:44 PM

Okay, so far I have configured my monthly pricing plan, applied a setup fee to simulate up front charging instead of "in arrears", and even begun integration with my site.

Now I have a new wrinkle. Users can sign up for my services with a free trial period. I am not collecting any payment information in order for them to utilize this free trial. In the event a trial account converts to paying, I would like to rollover the remaining trial time into their paying account.

For example, a user has 10 days left in their trial when they sign up. My billing is monthly, so I'd ideally like to given 40 days of service with their first payment. I do not see any way to do this in the current API.

However there are some obvious solutions. Trials are fixed to the plan, but if I can set the trial period on the fly, I'm good. Alternatively, I don't see any way to move the billing date forward/backward for an account. If I can make an additional API call once the account has been created and move the billing date, I can accomplish the same goal.

Thoughts? Did I miss an API option?

  1. Support Staff 1 Posted by Marc Guyer on 27 Sep, 2009 10:10 PM

    Marc Guyer's Avatar

    No, you didn't miss anything. This isn't currently possible.

    Here's my opinion in case you want it: If the customer has chosen to start paying you, then they've decided that the service provides enough value to them. I don't think it's necessary to effectively give them free service after they've decided it's worth their money. Besides, in the grand scheme, the amount of money in question is negligible to the customer, but not to you. This amount might average $3 to the customer. I would consider this a negligible amount since they will be paying you a monthly fee of triple that amount for (hopefully) many, many months. Meanwhile, you're delaying your own revenue by 10 days per customer which can be quite significant if you have enough people signing up. If the customer really wants to save 3 bucks then they can wait until the free trial ends.

    Ok, enough ranting. One workaround, off the top of my head, would be to credit the customer's next bill for some prorated amount based on how long they have left in their trial.

    I just noticed that this method was not available via the PHP wrapper. It's added now and available via the github repository. Client::addCharge(). Just provide a negative amount to add a custom credit.

  2. Support Staff 2 Posted by Marc Guyer on 27 Sep, 2009 10:49 PM

    Marc Guyer's Avatar

    Frank -- I've been thinking a little more about your billing structure. Since services are billed in arrears via CheddarGetter, there is a one month trial effectively built into every paid subscription. You can eliminate the 'built-in' trial by configuring a setup fee, which you've done. You can create a 'free' plan in CG that will not require credit card information. When they upgrade to the paid plan, they would need to enter a card. Hmm... I'm rambling a bit. I'll explain with an real-life example of how we bill for CG:

    There is a free plan. We allow anyone to be subscribed to the free plan indefinitely (usage is restricted). When a customer signs up for a paid plan, we start the clock on the first billing cycle right away. Their card is charged one month later. If they cancel before the end of the month, their card is not charged.

    You might like to restrict the amount of time that a customer can have access to your service. You can do this by checking to see how long your customer has been subscribed to the 'free' plan. Then, force an upgrade to a paid plan before the customer can continue to use the service.

    You could also use the tracked items feature of pricing plans to restrict access to the service based on feature access or quantity of usage of a feature.

    All I'm getting at is that it seems like you're doing something in your application that CG may already have a solution for.

  3. 3 Posted by Frank Koehl on 28 Sep, 2009 01:06 PM

    Frank Koehl's Avatar

    Marc -- great insights in both posts. I gave it more thought over the weekend, and was actually leaning towards the solution you posed in your first response anyway, for similar reasons. It's not a huge amount of time or money on the part of the customer, and they can simply wait until the end of the trial if they so desire. Plus it maintains my rule of keeping this entire process as simple as possible ("30 days to try it, sign up any time").

    If nothing else I'm glad it lead you to more development on your PHP wrapper.

  4. Marc Guyer closed this discussion on 11 Apr, 2010 10:23 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac