Currently my Drupal-based dating website (migrated to Drupal from http://drupal.org/node/603252) has only free membership. The idea is that the site will be changed to integrate a paid membership. Only paid members will be able to contact other members. When a member with only a free membership tries to contact another member, they will be presented with a screen offering them the chance to pay via PayPal. If they pay, their membership will automatically be changed to a full member and they will be immediately able to make contact with other members. Membership types are simply different Drupal roles.
1. Tasks
The following lists the tasks needed to achieve the objective:
- clear labelling of profiles current membership type
- automatically detecting when a "Basic member" tries to do a "Full member" task
and redirecting this member to a request for payment screen
- handling payment via PayPal
- upgrading to "Full member" if payment OK
- membership should expire automatically according to what they have paid and the need to allow recurrent payments, i.e. if they pay monthly it should be automatic, or they may decide to pay just 1 month but then stop - I suppose this is handled at PayPal side, but does need to be integrated.
2 Detailed Description
2.1 Labelling of current membership type
It is currently not displayed to a user what their “Membership Type” is. Since this will be important for users to know, this will need to be displayed clearly in the profiles. The field
2.2 Request Payment screen
There would need to be a screen inviting them to pay, which appears when a free member tries to send a message.
There will (currently) only be PayPal as payment provider.
There should be the following payment options:
* 1 month
* 3 month
* 6 month
* 1 year
I would like to be able to fairly easily change the "most popular package" option (this
does not have to be an admin screen, as long as I know where/how to change the code, it's OK).
I would also like the ability to fairly easily set different payment tarifs (this does not have to be an admin screen, as long as I know where/how to change the code, it's OK).
2.3 PayPal integration
There needs to be a system where people can pay for membership using PayPal.
I suppose this will use one of the following Drupal modules
• http://drupal.org/project/lm_paypal
• http://drupal.org/project/ubercart (seems the biggest and best supported)
• http://drupal.org/project/simple_paypal (only Drupal v5 available as non-dev version)
The only membership currently required is a single year membership (recurrent, i.e. they would be rebilled automatically unless they cancelled).
Correct me if I'm wrong, but I understand that this can be almost entirely built and tested against the PayPal Sandbox development area, so that I do not have to give access to my own PayPal account!
2.4 Membership Types Workflow
There are 2 main types of membership which are relevant for the payment, “Basic Member” (=someone who has not paid), and “Full Member” (=someone who has paid). A member who has not paid cannot send emails, a member who has paid, can send emails.
The member will thus proceed as follows:
"Basic Member" (This role will be given the same permissions as "Full Member" but without the ability to send mail)
BECOMES
"Full Member" (when user has paid, allowing user to send mail)
BECOMES
"Basic Member" (when user has no longer made a valid payment)
3. Offer Details
The budget for this job is not very big, but then I don't think it should be much more than around 10 hours work.
When you provide your offer, please tell me:
* price
* when you are available to start
* how long you think it will take
* what experience you have in developing in Drupal
Please follow the forum rules and apply directly to my username. I can give anyone interested in the project the URL of the website, but I prefer not to do so here in the public post.
I look forward to hearing from you!