Alvin,
I'm in the process of establishing paid courses. You and I want people to pay for access. I'm in the learning stages myself, but I'll share my current approach and thoughts:
USER PROFILE(s)
- Currently moodle stores "basic" user information like first name, last name, city/state, etc. For us, additional information needs to be stored, like credit card info, expiration date, billing address, mailing address, etc. Thus modification/addition of the "user" tables in the DB is required. I'm looking at encrypting this personal information when storing it to the database for added security.
USER ACCOUNT MANAGEMENT
- There is no current tool for users to view all courses their enrolled in, access account info, etc, all in one view. This, as Martin explains is a the goal of MyMoodle, a global, one-stop view for users to manage courses their in. This resource is the goal of a future release. In the meantime, I'm developing such a resource because it must be tailored to "paying-for-courses" capabilities.
HOW I SEE THIS WORKING
- Consider shopping cart systems on websites where you buy tangible products, instead users are buying "courses".
- User signs ups, pays for one-to-many courses at the beginning.
- User can at any time, can purchase additional courses...credit card information is available to the user from the DB for this.
MERCHANT ACCOUNT
Bank of America, to me, has a trusted merchant account system that should suffice for this purpose. Its a good read:
http://www.bankofamerica.com/merchantservices/index.cfm?template=merch_ic_estores_settle.cfm
Early thoughts from where I'm headed, lets keep the lines of communication open for brainstorming.
Marc
In the long term, the subsystem planned for this is the "enrollment" architecture. It can have plugins that manage payment scenarios, as well as tapping into external databases. If you want to help define and develop this you would be most welcome.
This is the approach we are taking. There is an outfit in the US called CCNow (www.ccnow.com/sellOnline.html) that processes credit card transactions for our software site (www.insightjournal.com). The courses we are starting to offer at our Moodle site (www.remote-Learner.net/jlp) will be purchased through this vendor, via the software site.
We have been using CCNow for about a year and are very pleased with their service and getting payments out. Set up could not have been easier. They pay out twice a month and take a hit for each sale, which isn't bad since they do all accounting (detest accounting).
Hope this helps someone!
As you said we can provide enrollment key to student after payment processing. But what is a student pass on this key to whole class.
If each student would have the same key every student can access the course without pay. So is there any other secure way to handle it.
Thanks,
Jaswant
Thanks,
Jaswant
Hi, i have created a paid course using moodle.
A user can view the list of courses available but he can access the course only if he has paid for it. Now my question is how administrator can create a user who will get free access to the course.
Any help would be appreciated.
Thanks
If it's set up as I believe, login as Admin and create a new user. Then access the course for which you want to provide free access and simply use Assign Roles to enroll that user into the course.
As an alternative, you can also create an enrolment password, if a user uses this to enroll (rather than the payment gateway) they'll still be granted access with a positive entry of the key/password.
Hope that helps,
Joe
Thanks for the feedback Marc.
To share my work:
Right now I have moodle setup to authenicate off of an external database, I am then using a user management/subscription management package called DreamAccount from Dreamcost.com ($150). This package handles all of my customer information, payment processing and subscriptions.
Now here are my issues: (oh I have many, but we will center them on the technical
1. DreamAccount is not the best piece of software out there, what it is supposed to do is allow you to setup subscriptions and these subscriptions will have an individual protected area. then in this protected folder I place my index.php file that explains how to login to moodle and gives them a link to the particular course that this subscription applies to. The link is formulated like :
2. When the subscription expires, the customer is no longer allowed to view index.php in the protected area, but their information is still in the DreamAccount database, which moodle looks at, allowing them to still log into moodle. what I have to do now is run a report in Dreamaccount for expired subscriptions, manually unenrol them from moodle.. Now this is not a huge deal , but automating this would be GREAT. To be able to have moodle look at the status of a particular subscription that is linked to a course and deny entry unless this status is valid would ROCK but I am no where near that yet....
(NOTE: none of this I have explained is live, I am still in the developing stages)
So here is my scenario I am working on now. I would like to have the customer come to dreamaccount (or any other subscription management/payment procession script), buy the subscription to the course, view a protected page giving them the enrolment ID and link, go into moodle, take the course, notify me when they are complete. At this point I will sent them a certification (oh yea i saw the talk in another forum about auto certifications , NICE) then remove them from the course in moodle, and dreamaccount will expire their access.
I definitely agree with Martin, let PayPal, authorize.net, or anyone else handle the payment end,
The door is wide open for Moodle, just have to figure out how to integrate it with a payment/subscription system
All suggestions/recommendations are welcomed, the moodle support group is great!!
www.domain.com/moodledir/course/view.php?id=CourseID this will bring the customer directly to the course, which will immediately direct them to the login page, which after they login will direct them to type in the enrolment id (which I gave to them in the protected index.php page) and directly into the desired course. Now this works pretty good except for the fact that I am having trouble with dreamaccounts ability to protect the index.php page with sessions. It keeps making the customer login twice (once to sign up and once to see the protected page, still working on a solution for this) this bugs the heck out of me. Also Dreamaccount support is not that great. I would love to find another subscription management package ANY SUGGESTIONS??Re: Paid courses, I know there are some gateways specifically designed for distributing software, downloads, keys to the software, etc. I would think one of those will work. Instead of getting a key to a software product they would get a key to the course. The download (in the course situation) could be anything; a welcome message, a syllabus, homework assignment, etc. Whatever it would be is irrelevant to the transaction in the case of a course, the exchange of the key is the main purpose. That is the same purpose that software sellers address with their software.
Robert,
I basically have that using DreamAccount by Dreamcost.com but my problem exist with integrating the course enrolment and un-enrolment features in Moodle into the payment/subscription management script validation and expiration of subscriptions. To allow auto enrolment and un-enrolment by an outside script based on purchase
Alvin, Not sure what the link you provided is supposed to show...
Martin's suggestion is one to take to heart, but it sounds like you don't want the enrollment key emailed to customers after payment. Rather you want the enrollment key displayed on the page that says "Thanks for your payment, here's your enrollment key".
Question: With the way you have things set up, do you need the customers to enter personal information for payment processing, then again submit the "basic" personal information utilized in Moodle? In short, submit twice?
I'm proviidng my direction below. Although slightly different from your direction, we can share thoughts:
(1) Customers pay ONE flat fee for six months of access
(2) They are automically enrolled in 7 courses I offer
(3) Each course is determined "complete" through successful completion of quizzes
(4) Once all 7 courses are complete, certification is provided.
(5) After six months, customers may renew...(the site will be more than just training, but include a bevy of resources and dynamic attributes that will entice customers to renew).
With this, I don't want customers to manually "enroll" in each individual course. Once you've paid, your in. So my brainstorming goes on...
I'll share more payment/authentication applications as I research more of what's out there and email you offline.
Marc
Marc,
the link was just an example link, it is to nothing.
1. The customer puts all of his/her relevant personal info in the payment processing script and this is automatically passed to moodle, they do not have to do it again.
2. I would love to have the system pick up which subscription the user purchased and automatically enroll them in the course, as you explain, but I don't think I have the skill set to make this happen anytime soon, still learning
Your synopsis of flow is what I would like, but on an individual course level instead of a multiple course level.
email me @ alvin@alvinshaffer.com instead of the one I have listed, I check this one more often
I will continue to work on my end and share any learning with the group.