-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Daniel Honig edited this page Sep 19, 2017
·
10 revisions
- To deliver a high quality and reliable Reaction Commerce plug-in supporting the most popular subscription billing features.
- To support extension of features as requirements evolve over time.
Subscriptions play an important and ever increasing role in the e-commerce landscape.
The focus of the MVP will be to get subscriptions working against the Stripe Subscriptions as an initial backend. The design will take care to avoid any coupling with Stripe that would prevent it from working with other services for subscriptions such as Chargify, Recurly, Etc. The implementation will make use of the GoF Adapter pattern to provide an easy way to implement different Gateway API's.
See: http://loredanacirstea.github.io/es6-design-patterns/#adapter
- Billing Interval
- Yearly
- Semi-Annual
- Quarterly
- Monthly
- Semi-monthly
- Week
- Day
- Billing Cycles
- Terminate billing after X cycles.
- Timespan
- Begin
- End Date
- Infinity *Assign subscription profile to products on product edit/management *Assign Role to User on subscription purchase. *Webhook for Notifications
- Stripe ( and other Gateways) offer Webhook style integration for notification of Events. The extension should provide an endpoint supporting this Webhook.
Features that are not MVP, but important to consider:
- Free Trial
- Time the subscriber is allotted on the plan for free. The paid subscription will begin at the end of the trial period.
- Setup Fees
- A one time fee charged at the start of the subscription.
- User editing of subscriptions
- User can edit/change the products or variants in the subscription plan.
Gateway Specific Metadata
- Different gateways will support different metadata. Common fields will be recorded on the Subscription entity itself and any specialized fields will be put into a key/value metadata container available on the subscription.
- Do we support the case where the subscription billing system differs from the Payment/System. ( Should be out of scope for now).
- Are changes to plans interesting? Should we track them?
- Plans will be created independently of Subscriptions inside of the Stripe admin. What if anything must be shown/managed within reaction for plans?