Forum Moderators: buckworks

Message Too Old, No Replies

Setting up a subscription service

Not sure where to start... help please

         

earthgirl1

7:49 am on Sep 8, 2004 (gmt 0)

10+ Year Member



hello all,

first of all, i am not a webmaster! but the site i am helping out with DOES have one, and i would like to pass along the info to our webmaster, and also would like to understand the whole process better myself. so if everyone could write in really simple terms, i would really appreciate it :-)

here is the situation:

we are setting up a pay system for an internet radio subscription service. people would pay a monthly fee in order to access the live feed of the radio program and also the access the radio program archives.

this is what we want to happen.

1. person goes to our sign-up page, and clicks on a link to pay for the subscription.

2. person enters their credit card info and is assigned a password. from what i understand, a merchant account can do all this... i read good things about charge.com and will likely go with them.

3. person can now sign in, using their email addy and password, to the subscribers-only area of the website, which will have links that go to both the live streaming of the program and to the archives page. from what i've been able to glean so far, this means that the email address & password is checked against the database of subscribers, and they are allowed or denied access.

the person that was doing this before used oscommerce/php, but i've heard a lot of complaints that it is difficult to use and learn. what is the microsoft version of oscommerce/php and is it easier to use?

what exactly do we need our webmaster to do?

we are lining up a company that will provide the streaming (and give us a link to that streaming) and will store the archives on their file server and give us access to it. so we will have the links to what we need to give to people, but don't know how to set it up so that only people that have paid for subscriptions will be able to access those links.

can one of you brilliant webmasters please explain to me exactly what our webmaster needs to do?

thank you very much!

SkyDog

6:38 pm on Sep 8, 2004 (gmt 0)

10+ Year Member



If your webmaster doesn't know how to set this up, there are many services like ibill and such that will handle the details for a healthy percentage. I think paypal may also offer a membership type thing now too, not sure. Might be worth checking out as their rates are probably more reasonable. Another avenue to explore may be pre-made membership scripts of which several are available.

SuperLite17

1:47 am on Sep 9, 2004 (gmt 0)

10+ Year Member



Not sure if this will help? But I'll give it a go:

I recommend a database with three tables:

TableA - Groups

GroupId l RoleName l Destiny
--------------------------------------------------------
1 l Administrator l admin.html
2 l Webmaster l admin.html
3 l BasicSubscriber l member.html

TableB - Member Registration Information

UserId l FirstName l LastName l Status l ExpireDate
---------------------------------------------------------------------------------------
1 Joe l Joey l Active l Sept 01, 3000
2 Joey l Joe l InActive l Sept 01, 2003
3 JoeJoe l EojEoj l Pending l Sept 08, 2004

TableC - Roles

UserId l GroupId
------------------------------
1 l 1
3 l 3

1. Web visitor selects a subscription upon user Member registration. Is taken to payment gateway. Upon payment completion database TableB [Status] is updated to "Active" and Date/Time added to [ExpireDate] for term of subscription.

Only "Active" members can login. During the login process, visitor is authenticated, ExpireDate is checked, then redirected to the appropriate page based upon the assigned role. If ExpireDate is "Today" or their after, member is redirected to a RenewSubscription.html.

2. TableA GroupId is mapped to TableC GroupId. TableB UserId is mapped to TableC UserId.

3. Each subscription belongs to a subscriptions group ( TableA ) . So a group might be "BasicSubscriber" and another group might be "GoldSubscriber".

That's a fast example of how it basically works!

plumsauce

4:42 am on Sep 9, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member




Setting up a secure membership system that exposes external resources is a non-trivial exercise. The chief concern of course is hotlinking and password sharing.

SuperLite17

5:31 am on Sep 9, 2004 (gmt 0)

10+ Year Member



While nothing is "fool proof" there are scripts widely available that would minimize hotlinking.

The password issue can be easily solved by "salting" the password fields before hashing them. This is done by adding a second piece of information to the hash that is non-changing and unique for every user – like, for example, the username, or a user ID. Personally, when developing a user database, I normally use a GUID as primary key for the table since it is random and big enough to be used as "salt input" into the hash.

If a user shares the password with others, all you can do is minimize the usage by allowing only one session at a time with the same username/password. If my server shows a US IP address, and an hour later I see the same login but an overseas IP address, I'll contact the original account holder and notify them of the situation and issue a new password etc.

plumsauce

7:53 pm on Sep 9, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member




what i am really hinting at is that trying to do this without some experience behind you can be a costly experience since the streaming company will gladly charge you for everything that your site uses ... regardless of the reason.

Entelekhia

7:13 am on Sep 12, 2004 (gmt 0)

10+ Year Member



I am putting up a similar system to my website (flash-game, addictive, 20.000 uniques a day).

I am a total newbie in database sort of things. I have SMS payment as a standard and now I am trying to figure out credit card systems. The basic idea is the same, people can subscribe with login and password, which can be obtained via credit card or text message.

It seems that this whole thing is going to be too hard for me to put together. What would you recommend me to do? I think I have to hire someone to this.

SuperLite17

12:44 pm on Sep 12, 2004 (gmt 0)

10+ Year Member



Hello Entelekhia. I do agree with plumsauce, it can be costly hiring someone to create database systems. If time isn't a major factor, the learning curve for creating db driven websites isn't difficult at all. The power of these types of web sites and what you can do with them is "addicting" as a developer! That's another story in itself.

Most of the thinking has already been done by someone out there. Starting with the language you want to use for development search google for script examples. If you know which credit card processor your going to use, check their web site to see what they may provide for code samples. Some processors will generate the Username/Password for you.

If time IS a factor, there are lots of web sites that provide complete membership management systems (example: MemberGate). Hotscripts is a great place for scripts in nearly every development language.

[edited by: DaveAtIFG at 2:28 pm (utc) on Sep. 12, 2004]

earthgirl1

5:47 pm on Sep 12, 2004 (gmt 0)

10+ Year Member



thank you all for your input, especially SuperLite17, thanks so much for taking the time to respond in detail! i've passed along all of this info to our webmaster.