Subscription Services
PermalinkThe process always breaks down when a new member signs up. Either the new member has to wait for Admin to mark them "approved" (even after paying) or the payment process itself leaves much to be desired.
The thing is, when you deal with other people's money everything needs to operate perfectly. In the ballpark is unacceptable.
I'll post some notes on features later . . .
One site might sell photos and allow everyone to view the photos, but allow only paid members to download them. This is tricky because you need to eliminate someone from doing a copy/paste with the photos.
Another site might have a members only area where access is restricted according to type of member. A cheapie subscription allows access to some pages, a better subscription to even more, and a jumbo subscription allows access to all pages.
A project I've shelved for over a year requires yet another type of membership control. It allows paid members to download many file types: images, Excel, Word, PDF, etc. The tick is I want all site users to see the files, but only allow members to download them. This allows the non-paying site users to see a snapshot of what they are missing.
In short, a subscription add-on must be very flexible.
But the remove from group option is a blanket removal on a specific date is it not?
How can this be set to 12 months/365 days date of purchase?
Can a hidden user attribute for individual users (ie members) be updated from a successful purchase of a subscription/membership?
In Joomla we might do this with a system event plugin that captures some post data and then updates the user record once a sucessful purchase has been made. How would this work in C5?
[timeofexpire]<[currentdate] remove em
Silly confusion misreading of interface by myself.
Are you saying that setting 365 days in the screenshot you show will expire an individual from that group from the date that individual signed up?
I read it as the group expires en masse 365 days later....
Great if its an individual 365 days from the date they joined.
The problem is that no user account is created when they checkout, so they never get added to the group.
Am I missing a step? How do I require login or registration before checking out?
The way I envisioned it would also require a new page for Subscriptions within the eCommerce package for c5. This would allow c5 to keep track of the subscription ID's within your PayPal account, and allow you to perform necessary administration to them as needed.
I attempted to have one created near the end of last year but the developer flaked out on me after taking $900 of my cash :(
if you store credit cards locally, you're making a huge mistake and you have to also pass PCI testing which can be quite expensive.
if you dont, some merchant providers let you rerun transactions by ID, so hypothetically you could do the recurring from concrete5 and then know what to do if it fails...
OR you might find that a merchant provider has a gateway that can do a call back to somewhere when a transaction fails...
any way you slice this problem its going to take a few weeks of careful head scratching to get it right and it will give you a solution that works but needs constant attention.
I like Google Checkout's implementation of recurring payments, but it's in beta...
- Josh
https://www.concrete5.org/marketplace/addons/paypal-membership-subsc...
It uses Paypal Subscription services, adds user to a group when payment is received (mostly instantly) and is very user friendly.
It just might suit your needs...
This obviously requires integration with PayPal or other processors.
Different users of this add-on will want to offer different subscription types: monthly, yearly, life, etc.
The add-on will need to keep up with subscriptions by monitoring those that have expired, about to expire, etc. so they may be auto-notified as needed via email.
Cancellation of a subscription can be tricky business. A member who signed up for a year may want to cancel after a month. Each site owner will need to determine their own cancellation policy and have a mechanism to deal with that policy.