I'm trying to accomplish something with Stripe which requires some help to come up with a solution. Here is what I am trying to do:
Let's say I have multiple Plans:
Bronze - $9.99
Silver - $14.99
Gold - $19.99
Platinum - $29.99
All of these plans, if subscribed to will be billed monthly.
A single user can subscribe to as many plans as they like, same plan more than once and at different times.
Example:
Bronze subscribed to on Jan 1
Silver subscribed to on Jan 15
Gold subscribed to on Jan 20
Bronze subscribed to on Feb 2
Currently, I create a separate subscription each time this happens resulting in the user being billed 4 times in one month and on different days.
I'd like to have one charge per user per month. In this case the total should be $54.96 per month.
I guess the easiest solution is to set a billing cycle on a certain day, say the 15th. So all users will be bill on this day.
- Create one subscription per user
- Set the trail end to the 14th of this month (or next depending on where we are in the billing cycle)
What would be nice is the ability to attach multiple Plans to a single subscription but I don't think this is possible with Stripe.
So what can I do?
Create custom Invoices and append invoice items representing each Plan?
Can I create a subscription without a Plan?
Here is an example of a scenario that could happen:
- User signs up
- User submits CC information
- User subscribes to the Bronze Plan on July 20th
- User is billed $9.99 + $1.00 (setup fee) = $10.99 immediately (paid in advance)
- Subscription starts and next bill for $9.99 with happen on August 20th
BUT THEN
- User subscribes to the Silver Plan on July 21st
- App checks for active subscription (found)
- User is not to be billed right away
- $14.99 is appended as a line item to the next bill
- Total will be $24.98 on August 20th
But how can I handle the days in between? From July 21st to August 20th = 25 days
Should I calculate the cost per day by dividing $14.99 by 30 = 0.50 and then multiple that by 25? = $12.50
How do I append this prorated charge to the next billing cycle?
RECAP
- User is charged 10.99 on July 20th
- User is charged $22.49 on August 20th
- User is charged 24.98 on September 20th
Did all of that make sense? Can someone please help me out and suggest a few steps I can take to accomplish this....OR better yet...suggest a better solution all together.
Thanks!