I have a database i'm building now in mysql for members. Basic table structure will be

ID
Username
Email
Password
JoinStamp

I want to have the option of paying for a membership that will remove ads from my site and give a few extras. I also want to keep a record of members who have paid in the past as it'll be a 3,6 and 12 month fee.

Should I have a second table called Fees?

ID
UserID
MembershipType
StartDate
EndDate
ReceiptCode

Is this the best way of doing this and on logging in see if they have a member between the start and end date and load permission/settings based on the membership type?