I think you should just add an extra field to the user table. With the members status. From there its just a matter of if the added user field is at paid members status to allow them to view that area.
From a billing point its basically the same check the status, when their last payment was etc.