I have 3 packages. Free, basic, and premium. They are worth $0.00, $100.99, and $200.99 per year respectively. They are sold on the basis of quantity. For example, you can have 5 basic subscriptions. The user can upgrade number of quantity and plan any time.
My question is let's say someone is on basic plan with 5 subscriptions. And midway to their pricing period, the person decides to increase the number of quantity to let's say 10. Then, how can I collect the amount the user has to pay for the extra 5 units for six months?
From the very little knowledge I have, stripe charges them from the next billing period. So how can I collect the 5 * (100.99 / 6) (divide by 6 for six months)?
Also, If the user chooses to upgrade, how can I handle the payment for that? Let's say user goes from basic to advance mid-way the billing period. How can I charge the money instantly for the upgrade?
Right now I'm thinking that I should calculate the amount required to be paid and take the user to checkout and pay once. After payment is successful, update the subscription quantity or schedule as required. Is this approach appropriate?
Thank you very much for helping in advance.
You can tailor upgrade behavior with prorations. I recommend reading those two links and then also taking a peek at this documentation.
Related
We have a web-app (react based).
There are two sides to the app.
Can be thought of as an app where companies give tasks to individual talents, approve the payments and at the end of the month, the company gets a single monthly invoice and we take care of paying the talent in their preferred currency/payment method.
Apart from this service we provide these companies a lot of additional features (and hence charge a 3-5% markup on this transaction).
I'd want to discuss what will be the most optimum method since the margin is already really thin for us.
Example: Company has 5 talents and each talent is supposed to get $20 for this month corresponding to the task that they completed
Hence the total bill (invoice) that the company will get from us is $100 + markup fees of let's say 3% = $103
Our commission is $3 and remaining $100 will be split amongst the talents, who will get $20 each.
What we thought of presently is to use Stripe Connect for individual payouts and use the split payment functionality.
But the problem is to receive payments Stripe charges us an additional 2.9% + 30 cents, which will make this thing non-profitable for us.
Hence wanted to get some expertise because there are already softwares that have solved this and I was wondering how ?
I have a Basic and a Premium product and both of them have Monthly and Annual pricing structures following the Good-Better-Best methodology.
Let's say due to increasing costs, I want to raise the price of my Basic Monthly plan by $5 for all subscribers. How can I increase the price of the subscription, and begin charging all current and new subscribers that higher price? From what I understand, Stripe pricing is immutable, but this is not an uncommon thing in the subscription industry.
Example, Netflix increased its pricing for everyone earlier this year. '
Do I need to create a new price under that Basic product and somehow migrate all users to that new price?
Your intuition was right here. You would create a new Price object with a different id price_ABC for the new amount. Then you can start by switching new customers to the new Price and seeing how it affects conversion. The Price is associated with the same Product under the hood but it's a new "version" of the Price. That's done by changing your code and ensuring new Subscriptions are created with the new Price.
In the future (though it could be immediately), when you are ready, you can migrate your customers to the new Price. The cleanest approach is to use a SubscriptionSchedule. The idea is that you can define multiple "phases" that a Subscription can go through. That allows to "chain" or "plan" future changes on your Subscription. Your SubscriptionSchedule would have two separate phases:
The current "legacy" Price until the current period finishes
The new Price with the extra $5 for the next cycle
The advantage of using this approach is that you defer the Price change until the next month so that it reflects exactly what they paid until the next period (end of the month for example). The downside is that it can be a bit harder to manage those objects as they are a bit more complex.
An alternative and sometimes easier approach is to update that Subscription's Price immediately. Doing this would cause prorations as we calculate the difference between what they already paid and what they owe. Usually with migrations like yours you want to disable proration which is done by passing proration_behavior: 'none' during the update.
You'd need to write code to loop over all Subscriptions using the List Subscriptions API. You can pass the price parameter to only look at the Subscriptions on that specific Price.
I wonder to find a solution for payment using Stripe. My clients create an event and we split the bill all members who joins the event. Let's say a football game $100 / 10 players, we hold a place until cancellation term is expired, or the game is canceled. What I am looking for solution and if it is possible to make, for the same event, instead of 10 players, 15 joined or 5 only, which means the bill from each varies from $6.60 to $20. I want these players to see that range of the pricing from $6.60 to $20 and book their spot and agree that when event occurs, they will be charged anything between. I remember that was the same solution with Uber at the beginning. Can anyone share any ideas if it is still possible to create this way, maybe they are new legislation and we need to show the total amount. Thank you for any suggestions.
You can use Stripe to save payment info and then charge your customers later:
The Setup Intents API lets you save a customer’s card without an initial payment. This is helpful if you want to onboard customers now, set them up for payments, and charge them in the future—when they’re offline.
You may also be interested in placing a hold on a card and capturing funds later, assuming the time limits work for your use case.
To clarify, this is a question for Stripe (an online payment processing app) API.
I want to limit the max quantity of a product depending on the subscription. So, lets say I have sub_id_1 and sub_id_2. I want to limit sub_id_1 product quantity to have a maximum purchase of 3 items, while sub_id_2 to have a maximum purchase of 1 item.
I do not have any code to show since it is just a API problem, but from what I get from the docs, it is possible to alter the quantity of the product in a subscription. However, I am not sure if it is possible to limit the quantity instead.
I would appreciate any kind of answers, feedbacks, or suggestions!
There is not a way to do this with Stripe's API, so you'd have to handle enforcing this limitation within your application.
How can I set a subscription plan to a certain price? I want to offer trial periods, but I don't want them to be 100% free. I want to charge say, $1 so they feel they are making a financial commitment. Free sets a bad expectation. From what it looks like, I have only the option of free. How can this be changed?
You'd still need to use a free trial period here but you'd just add a "setup fee" when you create the subscription. The easiest would be to create an invoice item just before:
https://stripe.com/docs/api#create_invoiceitem
Then create the subscription immediately after. It would automatically grab the pending invoice item and try to charge it.
Another method would be to use a one-off charge instead of the invoice item here.