We have a project where we need to enable recurring memberships for users in order to get a discount if they subscribe for the monthly plans (3, 6 and 12 months), each plan has a different discount, so to incentivate longer subscriptions we grant better discounts.
The thing is that this store sells only 3 products (all the same but different flavor), so in some cases the clients switch from one favor to another one in other to try them all.
So, the way we want the program to work is not so simple as a recurring order for a specific product, we also want the users to be able to change the next order product flavor, before the new order is placed obviously,
Also, we would like them to be able to add more pieces of the product to the next order and get correctly charged for that respecting the discount from their selected plan, also with the possibility to have different flavors in their order.
So here are a few examples for a 6 month scenario for a vanilla flavor product with a 10% off:
Month 1: User selects vanilla flavor, he gets charged with a 10% off.
Month 2: User wants to try chocolate flavor, he switches the order specs and receives chocolate flavor with 10% off.
Month 3: User wants to try the strawberry flavor, but also purchase vanilla and chocolate as well, he purchases them all and still receives 10% off.
Month 4: User wants to only order 1 piece of chocolate flavor, and the order get placed for chocolate flavor, 1 piece, and gets 10% off.
Month 5: User wants to skip this month, but that's not possible as they have a 6 month plan, so as he didn't select any product we'll send the Vanilla flavor.
Month 6: User changes again the product for chocolate, and gets their final order with 10% off, they don't renew the plan so they won't get charged anymore.
So, with all this variants, any ideas? Also, I have to say that it must work with any payment gateway or at least PayPal and Stripe (we don't have shopify payments)