I am new to Drupal and currently evaluating Ubercart as a solution to front end a subscription based hosting service that I am working on. Before I invest time and energy in throwing up a sandbox environment I would like to get some feedback from the community as to whether or not Ubercart would be a good fit for my requirements. I've been through the forums and haven't been able to find any recent information that provides a complete answer to my situation. Any help, feedback, or advice that you could give would be greatly appreciated.
The main purpose of my site is to allow users to subscribe to a basic, intermediate, or advanced hosting subscription. With each subscription type the user would get different levels of feature/functionality. The specific requirements of the subscription management engine for my project are as follows:
MULTIPLE SUBSCRIPTION PLANS - I would need to have 6 different subscription plans. Each subscription would need to have a 1 month or 1 year expiration. I believe Drupal/Ubercart handles this with roles??? See example below:
- Basic for $10/month or $90/year
- Intermediate for $15/month or $135/year
- Advanced for $25/month or $225/year
PAYMENT HANDLING - The system will need to accept multiple payment methods. From what I have read from previous forum posts, Ubercart has this ability already.
- Authorize.net and Paypal
AUTOMATIC RENEWAL (aka re-occuring payments) - The system should automatically renew a users subscription on a monthly or yearly basis (depending on subscription plan). Upon renewal the subscription fee should be re-processed based off the user's previously entered payment information.
RENEWAL NOTIFICATIONS - The system should be able to send out the following email notifications to the user.
- Pre-renewal notification - i.e. "Your subscription is scheduled to be renewed on XX/XX/XXXX for $X".
- Post-renewal notification - i.e. "Your credit card ending in XXXX has be charged $X for service Y...etc."
SUBSCRIPTION UPGRADE/DOWNGRADE - The user should have the ability to change their subscription plan at any time. After the user changes their subscription the system should process the next automatic renewal according the new plan's subscription fee and expiration.
SUBSCRIPTION CANCELLATION - A user subscription should be cancelled under the circumstances below. Once a subscription is cancelled all automatic renewals (re-occuring payments) should cease.
- The user manually cancels their subscription.
- Subscription renewal payment has failed and the user has not taken any action to fix the problem in 15 days.
USER PAYMENT INFORMATION UPDATES- The user should be able to update their re-occuring payment information at any time. The system should immediately process any outstanding payments that are due following the payment information update. i.e. billing fails due to user's credit card expired and they just entered their new CC information.
That pretty much sums it up. I am not definitely set on using a Drupal/Ubercart solution so if anyone knows of a platform or solution that would be a better fit for my needs please let me know.
Thanks much for your time,