9 replies [Last post]
woleium's picture
Offline
Joined: 02/16/2008
Juice: 14
Was this information Helpful?

We are looking to implement a site that offers product subscriptions that are billed annually, but have a 30 day free trial before the first payment, within which time the customer can cancel without being billed.

• The user may be subscribed to multiple products, and may not necessarily start the subscriptions at the same time.
• Billing should be automatic, both after the trial period and on renewal.
• The system should send notice of billing emails 5 working days before the payment is processed.
• Ideally I'd like to use the protex gateway, but can change if this is not possible.

I am new to drupal, but not to PHP, so would be happy to help in development of such a system if it doesn't already exist.

Does anyone have any pointers / experience in this area? There seem to be so many ways of achieving this, I am unsure of which direction to start looking in. I don't want to put lots of time in and then run into problems later on, so I'm asking you lovely helpful people first Smiling

rolandk's picture
Offline
Joined: 02/06/2008
Juice: 240
Re: Automatic billing annual subscriptions with 30 day free tria

I'd be interested in this too. Training site www.lynda.com does it exactly this way and this is great for membership sites.

subscribing...

webmasterkai's picture
Offline
Uber DonorBug Finder
Joined: 08/09/2007
Juice: 299
Re: Automatic billing annual subscriptions with 30 day free tria

The easiest thing to do is to use a coupon for the first month. Another option would be to setup a discount. Both are contrib modules.

Biodiesel * (ubercart + drupal) = Sundays Energy

woleium's picture
Offline
Joined: 02/16/2008
Juice: 14
Hmmm, So how would that work then?

I'd take the payment info, pass it to my CC gateway (no local storage of CC nos) and apply a coupon? How?

It is important for the billing to happen automatically unless it is cancelled.

Ryan's picture
Offline
Joined: 08/07/2007
Juice: 15438
Re: Automatic billing annual subscriptions with 30 day free tria

You sound like the perfect candidate to give the recurring payments module a ride. Eye-wink Basically, it provides a framework for enabling people to add recurring payment options to their gateway modules. With it you can add a product feature to the registration product that can specify an initial charge date and recurring billing specs. Then you'll need to write the code in a payment gateway module using a hook in the module that passes the info on to your payment gateway.

There is no admin screen to handle the cancellations or anything like that... so it will require a good amount of customization. I just couldn't fathom a way to get it done in core without spending all my time on it, so leaving it as a framework that operates on a simple hook seemed like the thing to do.

You'd need to implement hook_recurring_fee($order, $fee) in your module which receives the order and the fee information as arguments. More documentation on this will be posted, but in the meantime you can check out the function uc_recurring_recurring_fee() in uc_recurring.module for an example.

LTG1's picture
Offline
Joined: 04/12/2008
Juice: 7
This would be huge

This hugely important flow of functionality for subscription sites, because all the marketing people say that's how they should work to convert the most users.

Just wondering if anyone has made any progress on this in the last couple months since it seems a few different people were interested.

If not I'm thinking about putting a bounty on it. I would try to make the code contribution myself but I'm still a php beginner and just starting with Drupal.

If anyone else is interested please chime in - I'd want it to benefit as many people as possible.

regards,
ltg
http://www.hdgreetings.com

chadcrew's picture
Offline
Bug FinderGetting busy with the Ubercode.
Joined: 12/28/2007
Juice: 195
Hi ltg, Just stumbled across

Hi ltg,

Just stumbled across your post here...

I think you can do this pretty easily now: use the uc_reccuring module to set up a recurring fee that starts however many days or months after checkout that you like. Use the uc_cim contrib (http://www.ubercart.org/contrib/2537) I put together to store the credit card information with Authorize.net so that you can charge credit cards at a later date and for each recurring payment. It gives you a lot of flexibility.

Let me know if you see something missing here or if you need help...

Best,
Chad

ryanschmidt's picture
Offline
Joined: 11/17/2008
Juice: 235
chadcrew wrote:I think you
chadcrew wrote:

I think you can do this pretty easily now: use the uc_reccuring module to set up a recurring fee that starts however many days or months after checkout that you like. Use the uc_cim contrib (http://www.ubercart.org/contrib/2537) I put together to store the credit card information with Authorize.net so that you can charge credit cards at a later date and for each recurring payment. It gives you a lot of flexibility.

This is exactly what I tried but somehow it seems to be adding a $1 charge to the card instead of $0.00. Any ideas?

abramo's picture
Offline
Joined: 06/26/2008
Juice: 17
MODULE: UC Free Order

MODULE: UC Free Order Payment Method by Ryan.

Implement the following steps:

1.- Install module

2.- In Workflow-ng you'll need to create a custom Workflow configuration. Ryan recommends using the "order is updated" function... check the order's payment method for free order in a condition, and if that's found then perform an action to update the order to "Completed."

3.- Send an appreciation note to Ryan for providing this excellent solution !!

jayakrishnanj's picture
Offline
Joined: 11/18/2010
Juice: 3
Hi abramo, is it still

Hi abramo,

is it still working like u said,

If we are using UC Free Order Method, We are unable to enter the credit card details , and it is mandatoy .

Please help me out.