There is a serious problem with the billing logic.

For example:

I have a package called "Basic"
Price: $10
Video Limit: 1

A user buys this package twice, hoping they will be able to upload 2 videos however their package expiration date is extended and their video limit is never increased to 2...