Paying with Stripe - stripe-payments

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 ?

Related

How to increase price of a subscription in stripe?

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.

Take user to checkout before upgrading subscription or increasing units

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.

Stripe: How to hold a place the payment for A range of 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.

Is it possible to split payment between users in stripe?

I'm working on a uber eat like application, and i want to add a functionality:
When a group of friends order meals, I wants to give user a feature to split the bill between each
Can I divide the bill? like 50% 50% for 2 customers?
Correct me if I'm wrong..!!
You would have to create two separate PaymentIntents and charge each customer separately. You would divide the bill in two programmatically, and then create a PaymentIntent for each. There is no way to split a single PaymentIntent into more than one charge. You can read more on how to accept payments here:
https://stripe.com/docs/payments/accept-a-payment

Stripe Widget converts balance to thousands on declined card

We have integrated the Stripe widget into our checkout, works great! UNTIL a customers card is declined then the total for some reason converts into thousands
E.g if a customers is paying for goods worth £520 and the card is declined the balance is converted to £52,000.
Stripe's amount parameters are in pence for British Pounds, and cents for US Dollars. You're likely doing some conversions wrong on your own end.
Also, you have provided 0 code, so this question kinda violates the SO rules. You should add more information and code snippets of what you've already tried or this question may be at risk of being closed.

Resources