We have created a piece of software which we want to require a monthly subscription for the customer to have access to it.
Once the user buys a subscription to the software, they will be given access to portable launcher program, which verifies user credentials (created at the time of subscription), downloads the actual software and any updates, and then authenticates the software and launches it.
Based on this, the project has 4 core parts which MUST be completed:
1.) Setup of a PayPal monthly subscription system using PayPal's existing monthly subscription system setup. This also includes a basic website widget (preferably using existing paypal architecture if possible) to allow users to easily click on a button the website to begin purchasing their subscription.
2.) Create a server system / database which saves, catalogs, and tracks subscriptions based on the information that PayPal provides from their monthly subscription system (We do not wish to store any payment information for security)
3.) Create a launcher program which takes credentials/UNaP provided by the user , connects to the server and verifies the credentials, and upon verification downloads the actual software and (IMPORTANT) the latest updates for the program, and finally authorizes the launching of the program. The launcher program must be able to identify which updates it already has, and download only changed or new files from the server.
4.) Necessary server / web host setup to allow us to upload the software, and latest software updates, and have it distribute the files to authenticated users via the launcher.
Desired but non critical program features:
A.) Provide news updates to users via the launcher program. This could take the form of a simple web-page which is rendered in the launcher.
B.) Bug reporting. Allow the user to report bugs with the software via the launcher, and have the launcher send appropriate information to either bug tracking software on our server, or to a specific email address.
C.) Provision of Free access. Give us(The software provider) the ability to easily provide free access to the software to existing and new users.
D.) Friend Recommendation and Discounts. If possible, we would like the ability to discount (or possibly even refund) user subscription fees by using a referral program; where the user refers their friends to the software, and they receive a monthly discount on their subscription as long as their friend subscribes and keeps an active subscription.
A higher weight will be given to freelancers which can provided non-critical program features.
We also expect that there will be both server operation fees, and distribution/bandwidth fees.