Worked it out: set up paid membership levels

This is for Dolphin 6.1.6. I see there are many unanswered questions in the forum about how to set up paid membership levels. I have struggled my way through it and this is what I learned. Hope it helps.

Before starting, let me say don't waste time trying find out how to show membership levels in profiles. As far as I can see, it can't be done until someone creates a 'Membership level' item that pulls the level from the database and adds it to the View Profile available fields in the Fields Builder. (Hint! Hint! Someone!)

  1. Decide what membership levels you want.
    Note: You can't delete the free 'Standard' level, so you are going to have to work with it as a starting point for visitors who want to do more than browse. I would therefore use 'Standard' as a restricted trial version, and not bother with 'Promotion'.
  2. For this example I'm using these membership levels:
    Non-member (i.e. visitors): Can browse only.
    Standard: Have own profile, but otherwise browse only. I did consider giving access to be able to comment on forums, blog posts, etc, but this just opens the site up to comment spam.
    Gold: Pay $9.95 per month (30 days), have full access but unable to post classifieds
    Platinum: Pay $12.95 per month (30 days), have full access including posting classifieds
    Sponsor: Pay $1,200 per year (365 days) - settings as Platinum.
    VIP: Free account, by invitation only, with full access for known people whose presence will attract more members.
    Note: Someone with a Standard membership can upgrade to any of the three paid ones, but not vice versa, as people are not shown options to change to free memberships. Upgrade options are tucked away in the My Account > My Membership page. You may have to point this out to them!
  3. In Admin > Settings > Payment settings, set the currency and enable recurring billings. Save.
    Activate PayPal. Mode > Live (unless when testing), Business > put in your PayPal email address. Process type > IPN (important - only method that supports recurring billing). Connection type > SSL. Save and Validate. (It's important to do both). Deactivate and Save the others unless you are using them. You have to do each one separately.
  4. In Admin > Settings > Membership levels
    a) uncheck 'Site is running in free mode'
    b) uncheck 'Enable promotional membership'
    c) Save changes
    d) In the 'New membership' box type the name of the first of your memberships. In my example, Gold. Click 'Add' and you will see it listed below. Repeat for your other membership levels.
  5. Now the boring part (because you have to set each bit one-by-one):
    a) Starting with Non-Member, click on the name. Another panel, Membership Actions' will open below. By default, 4 actions are allowed. Delete 'use Orca public forums' and 'vote'. Click the dropdown by the Add Action button. One-by-one select and add the 5 remaining items that begin with 'view…'.
    b) Repeat above for 'Standard', and they will, because they have signed up, have their own profile. Add any extra features you want to make available. I want to encourage them to upgrade to a paying membership, so the only extra I give them is 'get other member's emails'.
    c) Repeat for 'Gold' (or your equivalent) but, in my example, I add everything except 'can add_delete classifieds'.
    (If you are adding most of the options the quickest way is not to use the dropdown but to keep clicking the Add Action button, then delete the ones you don't want when you have added them all. Even then it takes 10 mins per level. I said it was boring! Find some music to listen to!)
    d) Do the same for your other membership levels.
  6. Now you can click on the 'pricing' link for each level. This is straightforward. For my Gold example I enter 30 and 9.95. When they go to pay for the upgrade, they can choose to pay for a single period or ask for recurring payments.
    Note 1 - You can set up more than one pricing option per level. For example, you can offer a monthly option and a discounted one if they sign up for a year.
    Note 2 - If someone sets recurring payments and then cancels their membership, ONLY THEY can ask PayPal to stop the recurring payments. It would be good practise to make this clear to them, or you will get complaints and a bad reputation.
  7. For the free, lifelong VIP membership, you just don't set any pricing options. Ask a potential VIP to sign up to a free Standard membership and let you know when they have. You can then go into their info and change the membership to VIP - they get all the facilities but at no cost.
  8. With the pricing options set, you can click on the [Inactive] links on the left to activate the membership levels.

Well, that's it set out as clearly as I can. If I have got anything wrong, missed anything, or you have another tip to add, please do.

Quote · 10 Jun 2009

inc/members.inc.php
after:
$nick = '<a href="' . getProfileLink( $p_arr['ID'] ) . '">' . $p_arr['NickName'] . '</a>';
insert:
//mrp added Profilememlevel to search results
$mrpId = $p_arr['ID'];
$sql="SELECT * FROM `ProfileMemLevels` WHERE `IDMember` = '$mrpId'";       
$sql_result=mysql_query($sql) or die("Couldn't execute query!2");
while($row=mysql_fetch_array($sql_result)) {
$mrpMember = $row['IDMember'];
$mrpLevel = $row['IDLevel'];
$mrpDateStarts = $row['DateStart'];
}

switch ($mrpLevel)
{

case 2: //Standard
$mrpName = 'Membership Level: <b><font color="Red">Standard</font></b>';
break;

case 3: //Promotional
$mrpName = 'Membership Level: <b><font color="Red">Promotional</font></b>';
break;

//Please check phpmyadmin for this Memlevels Table
case 4:// Sexy new Level cange this value toy your new level and add if you want
$mrpName = 'Membership Level: <b><font color="Red">Sexy New Level</font></b>';
break;

}
$memname = $mrpName;
//mrp added Profilememlevel to search results


after:
$templ = str_replace ( "__nick__", $nick, $templ );
insert:
//mrp added Profilememlevel to search results
$templ = str_replace ( "__memname__", $memname, $templ );
//mrp added Profilememlevel to search results end


templates/tmpl_uni/searchrow.html
after:
<div class="nick">__nick__</div>
insert:
<!-- mrpowless add profilememlevel to search results -->
<div class="nick">__memname__</div>
<!-- mrpowless add profilememlevel to search results end-->

done

I have video tutorials to help you mrpowless.com
Quote · 28 Jul 2009

Is there a way to set it up such that any new person that wishes to join (go through the membership registration process), must pay a fee?  I thought that this was a standard part of the Boonex member registration process, but, tried to do it, and it hasn't been working.  Basically, any new member that wishes to join should go to the paypal pay process for this new membership.

Any help would be greatly appreciated!

Quote · 31 Jul 2009

@elkin - not that I could find

@mrpowless - thanks for the membership level code, I'll try it out Smile

Quote · 6 Aug 2009

Thanks Steve,

Darn, I really need to find a mod like this...anyone else know of a way for me to do this???

Quote · 11 Aug 2009

Thanks for this! Very helpful! Well written, clear and thorough...

Quote · 12 Aug 2009

I'm stuck on step 6 - where is the pricing link?

Quote · 22 Aug 2009

There is a "PayPal on Join"  and other mods that allow you to force new members into a paid trial period with auto-renewing subscription payments on the  Expertzzz site to answer that question, and thanks MrPowless for another nice little freebie,  added it to mine and works like a charm!  (BTW, I think I spend as much time in your site as I do mine these days).... lol

Quote · 28 Aug 2009
 
 
Below is the legacy version of the Boonex site, maintained for Dolphin.Pro 7.x support.
The new Dolphin solution is powered by UNA Community Management System.