In the last few years, I’ve worked a lot setting up video chat web sites and installing and integrating AVChat with them. I have gathered a lot of experience and I’ve decided to make a tutorial on how to build a simple paid membership web site with 3 user levels: guests, free registered users and premium users. Users at each level will have access to different video chat features and they will also have to pay a monthly fee to become premium users. We will call this web site http://myvideochat.com .
For this tutorial I will use Drupal 6 as it is free and it has the best user management system for this kind of web site!
Step 1: What you need:
- Drupal is a free, open-source content management platform with a very good user management system which fits my needs for setting up different video chat features and user levels for a video chat website. You can download Drupal from here: http://drupal.org/download .
- AVChat 3 + AVChat 3 Drupal module: AVChat 3 is our flagship video chat software, it supports rooms, emoticons, admins, YouTube videos, and much more. Its price starts at $130/one time fee. AVChat 3 Drupal Module is the bridge between AVChat 3 and Drupal. It will help us set up different chat permissions and features for each user level in Drupal. It costs $49 and you can buy both from here: http://avchat.net/integrations/drupal.
- You also need the free Token Module . You need to download it from here: http://drupal.org/project/token and install it, it is required by the MoneyScripts Membership Suite mentioned below.
- Finally you need the MoneyScripts Membership Suite – this will help us charge users to upgrade their membership. It costs $64,95 and you can buy it from here http://www.moneyscripts.net/drupal-membership-suite#tabs-documentation
Total cost:
- AVChat 3 – $130
- AVChat 3 Drupal Module – $49
- MoneyScripts Membership Suite – $64,95
- TOTAL = $243,95
Step 2: How to install everything:
This tutorial will not cover installing the specific components as the installation for each of them is covered in detail in the below articles!
Go ahead and install all of the above and then move to Step 3.
Step 3: Now we will set up the 3 user levels
In Drupal user levels are called roles (user roles). A role is a group to which a user can belong. In my website I will be using 3 different user roles:
- anonymous user – default in Drupal, it contains non authenticated visitors
- authenticated user – default in Drupal, it contains authenticated/signed-in users
- premium user – I will create this one, it will contain authenticated/signed-in users that have paid to have access to better video chat features
3.1 Create the new Premium User role
To create a new user role go to Administer >> User management >> Roles and at the bottom of the user roles table you will find the add role input text field (See the screenshot below).

Create the new role named Premium User .
Note: Please ignore the edit permissions link. We will setup permissions for all the user roles later.
Step 4: Setting up the MoneyScripts Membership Suite so that we can charge money from users
To do all the steps described below, you need to be logged in with your administrator account into your Drupal installation.
4.1 We need to enable the Token module
It is required by the MoneyScripts Membership Suite. So after installing it, enable it from Administer >> Site building >> Modules (see the screenshot below).

4.2 Next, we need to enable the MoneyScripts Membership Suite modules.
There are a few of them, I will make a small brief for each one:
- MS Core – Is the main module. If is not enabled by default, you must enable it. All other MoneyScripts Modules depend on it.
- Membership Suite – The most important, allows you to sell memberships to your members.
- MS Coupons – Will help you generate discount coupons.
- MS Reports – Will let you see reports and charts.
- MS Role Discounts – Will add the possibility to offer discounts to user roles.
- MS Taxes – Will add taxes to orders.
From all of the above, for my specific web site I only need Membership Suite enabled, the rest are optional.
Go to Administer >> Site building >> Modules and enable Membership Suite (See the screenshot below).

4.3 Specify the payment options
Ok, now the user has to be able to pay somehow. MoneyScripts Membership Suite allows us to charge users trough a variety of options:
For my website I decided to use PayPal because it’s the easiest way and most convenient!
To enable PayPal go to Administer >> Site building >> Modules (See the screenshot below) and enable the PayPal option (Standard or Pro).

…then go to Administer >> MoneyScripts >> Gateways >> PayPal WPS (See the screenshot below)…

and in the form that shows up you insert the email used for your PayPal account (the module will take care of the rest), submit the form and you’re done!
4.4 Set up MoneyScripts Membership Suite
Before you create a membership plan, some additional settings are required.
To access the Membership Suite settings page go to Administer >> MoneyScripts >> Membership Suite Settings where you will find a form that requires two keys (One Public Key and one Private Key). At this moment your MoneyScripts Membership Suite is not licensed.
To get those keys, you need to login into your account at http://www.moneyscripts.net/and then go to My Account >> My Software. There you will find the keys. Just copy and paste them into the form described above, then press Save Configuration.
If the keys are correct, then the MoneyScripts Membership Suite Settings form will appear (See the screenshot below).

Below you will find a list with the most important settings:
- Enforce Paid Membership at Registration? – leave it unchecked because this will force new users to directly create a paid account.
- Free Option Name: * – You can put the Regular, if is not by default
- Skip Registration? – I suggest you leave this unchecked because it will change the registration page and might create some confusion.
- Show Membership Plan Price? – Yes, you need this checked because users have to know how much they pay for it.
- Membership Plans Fieldset Weight on the Registration Page – Leave the default value, -1
- Enforce Single Membership Plan – Yes. A user can have only one Membership Plan at a time.
- Show Current Memberships in User Account? – Yes. Show your users their current Membership Plan.
- Show Cancel Membership Links in User Account? – If you want to allow your users to cancel their membership at any time, you should check this.
- Show Purchase Membership Links in User Account? – Yes, give them the possibility to upgrade their accounts easy.
After you made these settings, press the save button and continue with the next step.
4.5 Create a membership plan.
You need a membership plan so that non-paying users have the possibility to upgrade their accounts and access better video chat features.
Go to Administer >> Site building >> Membership Plans >> Add Membership Plan.
A form shows up with several sections. You need to fill out this form.
I will describe below the most important settings you need to fill out in each section.
4.5.1 At the Membership Plan Info Section, the most important settings to fill out are:
- Name: name it however you want. I named it Premium Membership
- Main Amount: Is the fee users have to pay to get their accounts upgraded (later I will decide the frequence of the payment).
- Show on New User Registration Screen?: You should check this setting in case you want your users to sign-up directly as a Premium User. I want users to be able to sign up directly as a Premium User so I checked this option.
- Show in the User Account?: It is very important to check this, because it will place the Upgrade Option in the user profile, so that users easily upgrade their accounts.

4.5.2 At the Role Settings Section, I will check the checkbox besides the User Role created above at step 4.1 ( Premium User) for both Role(s) to Grant at Start and Role(s) to Remove at Expiration. This means that a user, after paying, will automatically be assigned to the Premium User role in Drupal. (See the screenshot below)

4.5.3 At Period Settings, specify the Membership Length you have the possibility to specify the length in Days, Weeks, Months and Years. (See the screenshots above)
In my example I set up a monthly membership plan, this means that a user will have to pay for every month of membership.
4.5.4 At Email Settings Section you can setup the email content that is sent to users upon upgrade, expiration, cancellation, etc. (See the screenshot below)

This is how wil all work together: At the beginning a user is assigned to the Authenticated User role in Drupal. If he decides to upgrade, he will follow the upgrade link in his profile page and purchase the Membership for 1 Month. When the payment is validated, he will automatically be assigned to the Premium User Role and will have access to Premium Content on your website. When the Membership will expire (after 1 month), two options will be available:
- continue the membership (this involves purchasing for one more month) or
- not continue, in this case, he will be automatically be downgraded to the authenticated user role and will no longer have access to unlimited features in the video chat.

Cool, now I have both 3 levels of membership and the MoneyScripts Membership Suite activated and working. I will now give different features to different user levels!
4.6 Setup user role permissions for the MoneyScripts Membership Suite
The last step to make for a complete MoneyScripts Membership Suite setup is to setup permissions for the available user roles.
To setup permissions for the MoneyScripts Membership Suite you have to go to Administer >> User Management >> Permission and in the list that appears look for the ms_core module and ms_membership module sections. Setup the permissions the way you need them and then click the save button.
The setup I made is this:
- all user roles have access to the checkout page and moneyscripts cart
- none of those the user roles can administer moneyscripts orders and settings and also cannot view reports
- authenticated users and premium users can edit own payment info and view their own orders
- none of the user roles can administer membership plans, administer ms memberships, modify own membership
- all the three can purchase membership
- authenticated and premium roles can renew own membership
For a better view, please check the screenshot below.

Part 5: Configuring different video chat features for the 3 user roles!
I want each of the 3 user roles to have access to different or limited video chat features. This kind of set up will encourage anonymous users (guests) and authenticated users to become paying premium users.
First I need to setup the AVChat access permissions for the 3 user roles and then the particular settings.
5.1 Configure the AVChat 3 features for each user role
Go to Administer >> User Management >> Permissions and you will find the AVChat 3 features/roles table shown below:

There are 3 colums in there, one for anonymous users (guests), one for authenticated users(registered non paying members) and one for premium users!
So I set it up so that:
- guests will have access to the chat but they will not be able to create rooms, send private messages, make their stream private, send files to users and rooms, highlight urls and emails in the text chat area.
- Authenticated users, will be allowed to send files to the chat room.
- Premium users can do everything.
For the exact permissions setup, please see the screenshot above.
Next, we will setup the settings that will truly make the difference between the user roles.
5.2 Configure AVChat 3 Settings
In addtition to the permissions that I set up at point 5.1 I will also set the most important settings of AVChat.
To do that go to Administer >> Site Configuration >> AVChat 3.0 Drupal 6.x Module Settings.
- Free Video Time – Is the amount of time a user can watch other streams each day. I set it up so that Guests have 15 min/each day, Authenticated Users 1 hour and Premium Users, unlimited.
- Streams limit – Is the maximum simultaneous streams a user can watch at any time. I set it up so that Guests can see 1 stream at a time , Authenticated Users 2 and Premium Users 99.
- Max rooms a user can be in at any time. Is the maximum rooms a user can be at any time. I set it up so that Guests can be in 1 room at a time , Authenticated Users in 2 and Premium Users 99.
- Char limit – Is the maximum number of characters a user can type into a single message, but this will not make any difference in users perception.
See the screenshot below to understand what I described above.
(In the screenshot you will see value -1. This means that the Premium User role has unlimited free video time).

We need to do one final thing: open the video chat in a pop up so that users can still browse the web site without exiting the video chat.
You will find the option to open AVChat 3 in a popup or embedded in website.
Basically these are the main steps required to build a Video Chat website with Drupal, AVChat 3 and MoneyScripts Membership Suite. I hope you will find this article easy to understand and follow.
If you have any questions or there is something I missed, please feel free to drop me an email to mihai@avchathq.com. We appreciate your feedback.