General Requirements
Company wishes to provide a self-service platform for customers to manage subscriptions to an existing paid library service. The solution provided will be a standalone tool that does not integrate directly at this time with the library; instead, reports will be used daily for a human administrator to add/delete/change accounts within the existing service.
Subscriptions can be for any mix of individual products or bundles of products within a category. Categories contain products, and products can be bundled within a category. Each item may have different prices.
System Specifications
System will process payments in the following manner:
Utilizing a 3rd party PCI compliant payment gateway
subscriptions made during the month will be prorated and the first payment deducted immediately. These will trigger email alerts to administrators
subsequent payments will be charged on the first of the next month
failed payments will:
trigger email alerts to administrators
also show up in an alert when administrators log on until dismissed
also show up in reports as a canceled user with reason (charge denied)
System must have administrative interface that allows:
Multiple administrative role accounts
branding customization for Company
Adding or editing products and bundles
Adding or editing HTML descriptions of products or bundles
Add / delete / suspend / deactivate / change password / change subscription mix for customers
Reporting - all reports below can be customized by product, category, bundle or a date range
users canceled (including reason)
users added ( with subscription details)
subscriptions changed (with details)
cash flow
user report, customizable by above criteria as well as name. Includes all account details except card numbers which are stored in a PCI compliant 3rd party.
customizing HTML messages for the following actions:
subscription added
subscription changed
account deleted
System must allow users to create, change and delete accounts and recover passwords.
System must allow users to change subscription mix in this manner:
old subscriptions expire at the end of the month at which time any not-renewed subscriptions become “canceled”
new subscriptions are charged prorata for the month and immediately available.
Technical Specifications
System must be written entirely in PHP with a MYSQL back end.
Code must be well commented and delivered unencrypted and whole owned by Company
Code may use 3rd party libraries including both paid and open source as long as prior approval obtained
All code must be legally licensed
System will process payments using a 3rd party provider which is PCI compliant.
Project Specifications
1 month timeline
Solution provider must produce a design document before coding begins. Document must be updated by final delivery to reflect changes and 3rd party selections.
Weekly touchpoints or reports
Use cases and interface diagrams will be developed in tandem