Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Subscription module #572
Each “Payment plan” should have the following characteristics:
Assign to catalog products “Payment plan” thereby making the product sold by subscription.
Allows to define new price for “Payment plan” when to product assignment or indicate that the price should take from product price. Thereby can be achieved resulting subscriptions variations. (1 year 100$ per month for 20 user - where 1 year and 1 month interval gets from payment plan, 100$ from product price and 20 users from product variation property).
Allow to make any “Payment plan” changes but it will affected only for new subscriptions.
Each “Subscription” should have the following characteristics:
Subscription as entity created when user placed order which contain products selling by “payment plan”. For each line item in order created one subscription.
Invoice should generated for placed order which contain products selling by “payment plan”. Resulting invoice should contains all order products positions and support multiple payments(transactions) list.
Need to support mixed shopping cart - which contains “normal” products and distributed through a subscription.
For products with defined Trial period customer can subscribe to a plan without providing a payment method.
Customer should view self subscriptions history in storefront with possibility to pay unpaid invoice.
Upgrades/Downgrades - Subscriptions can be changed by switching the plan to which a customer is subscribed. Normally this is a matter of either upgrading or downgrading the subscription, depending upon the price difference between the two plans.
Non-prorated changes (product, billing cycles) - do not trigger any prorated charges or credits. Instead, they simply change the product on the subscription, and the new amount is billed normally at the next normal billing period.
Changing the subscription amount via changing generated invoice items