Stripe payment splitting api - stripe-payments

i need bit clarification and guidance from exports about splitting stripe payment between multiple sellers.
I am building e-commerce systen and integrated stripe as a payment method for customers and it is working fine. Now I don't want to pay to manually to my sellers registered on my platform. I want to split the payment between several accounts if possible.
Lets say my platform is charging 10% as commission to the sellers and the customer is buying to different items from 2 different seller that worth $1000 than I want to split the payment as follow internally
me $100
seller 1:$450
seller 2:$450
Any help or guidance will be appreciated thanks

Stripe as such does not provide the splitting mechanism. But using Stripe Connect you can do it.
In Stripe connect there is one main account called platform account and can have multiple secondary accounts connected to it. So in your case, your seller will connect with your platform account.
Now for every charge you can split the amount among the seller and platform using application_fee parameter in charge object.
But this method has one problem also
If the customer is purchasing from multiple sellers than you have to charge the customer many times(as no. of the seller). So in case of multiple items from different sellers I have used transfer API to transfer the amount to seller instead of multiple charging to customer
In my system, I also face the same problem and after a lot of research, I found this way working for me.

Related

How to handle SaaS reseller that collects payment from customers?

I develop and host a SaaS business that bills most customers directly, and that is a normal basic use-case with Stripe.
However, I also have a reseller that handles the billing relationship for those mutual customers. Since I host the SaaS service, all signups and subscription changes run through my software, and I'd like to use Stripe to track those customers, and create an invoice for each one of what the reseller owes us for them. Then I'd like to be able to charge the reseller's credit card once to pay for all those customers' invoices in one transaction. Is that possible?
Stripe Connect seems to serve the general need for handling these types of multi-party transactions. But I don't want to require the reseller to use Stripe to bill their own customers.
It seems maybe it could work if I created a single Stripe customer for the reseller, and then create a subscription for each of the reseller's customers under the reseller's customer resource. But it's not the canonical way of doing it, and I think I'd prefer a Stripe customer resource for each actual customer.
Although it might seem I could just collect payment from the reseller, and then mark all the customer invoices as paid offline but that seems it would double book revenue. I definitely don't want that!
I'm hoping someone might have a suggestion about the best way to accomplish this.
Thanks.
These types of questions are probably better suited for the Stripe support team, as they’ll be able to advise you on your business model and if there are any edge cases or unknowns you should be aware of: https://support.stripe.com/contact

Is it possible to implement an international shopping cart using Stripe Connect?

Reading Stripe Connect's docs it doesn't seem like you can do this
Stripe supports separate charges and transfers in the following
regions: Australia, Europe, Japan, New Zealand, and the U.S. Separate
charges and transfers are supported only if both your platform and the
connected account are in the same region (for example, both in
Australia).
https://stripe.com/docs/connect/charges-transfers
From what I understanding, if someone has multiple things in their shopping cart they can't buy them all at once unless all the sellers are located in the same country.
Is there any way to work around this for a shopping cart feature?
It seems you can make multiple charges using destination charges and send payouts to the appropriate sellers.
I have yet to implement this solution. Once done, I'll update this answer with my findings.

Stripe. Transfer money from two stripe balances to one Connected account

We need a possibility to have two balances on our stripe platform: first for our platform commission (balance1) and second for saving vauchers money (balance2).
Is it possible to make a transfers from this both balances to on connected account?
This is something you would keep track off on your end. Stripe would aggregate the balance in that case and just give you a number for the amount available and a number for the amount pending. You can not have split balances specific to your business.
I would recommend reaching out to Stripe to discuss your business model and what you are trying to achieve though since it's not specifically about code or Stripe's API.

Allow users to accept payments from their users

I am working on a software that is to be used by businesses which make about $0.5mil revenue per year. I would like to incorporate into the software the option for my users to accept card payments from their clients. So far it seems I have the following options:
Manage multiple merchant accounts on behalf of my clients, however this has a few drawbacks. I would, for example, like to charge some small fee to cover the costs (about 0.1%) which I cannot accept if the payment to my user doesn't go through some stage that I can control where I can deduct the fee and send it my way. Also, about 50% of the mentioned revenue is paid for by credit or debit cards so a volume of $250,000 might not be enough to cover the fees set by the account provider.
Send everything through a merchant account that I control and then distribute the funds to the users. This, however, seems like a very small scale solution at best with the average number of payments per user per day being around 15.
The end result should be that the user enters a price in the software, this gets sent to a card reader where the user's client inserts their card and makes the payment. The amount charged includes all the fees associated. The amount paid will then be sent to some merchant account where my fee will be sent to me and the merchant fee will be deducted, the rest will be sent to my user's account. The whole point being that the user doesn't have to bother with setting up merchant account or card reader and simply gets a card reader from us which connects to the software and can immediately accept payments.
I sincerely hope I am missing something but I would appreciate any help with finding a way how to charge clients of my users and take some small fee.
So as it turns out, the best way to do this is using Stripe after all. If anyone is ever concerned, this is how I solved the problem.
Stripe is currently rolling out Managed Accounts of their Stripe Connect which can be used to effectively manage Stripe accounts for my customers. Therefore, once a user registers for my payment program, I create a managed account for them without the user knowing at all. For incoming Stripe payments I can then use the destination property as the id of the account where the money should go and specify an application fee which will be charged to my own account.
From there on the only problem to solve is that Stripe only supports online payments which can be overcome by using for example Payworks, however so far their service has been pretty terrible so this may be a weak point in the system.

Can Stripe support Offline Payments?

I am using Stripe for online payments but also users can pay offline (cash or check). I want to centralize all my invoices/charges in one place (Stripe).
I am not sure if I can add offline payments (cash or check) to stripe or not. I guess I can if I created customers, invoices, charges with livemode=false for my live keys.
Is this feasible and will Stripe accept having some (customers, invoices and charges) with livemode=false and others with livemode=true?
If yes, should I fill fake credit card info or should I set it as nil?
Stripe does not allow you to create a Subscription on a Customer if you don't have a credit card setup. More accurately, it does not allow you to create a subscription if a customer does not have a way to pay for the next invoice. So for offline payments, you could update the 'account_balance' on the customer to have a negative value equal to the amount the customer wired (credits). Stripe will then allow you to create a subscription for the customer because it knows that the customer has enough account balance to pay for the next invoice. This post has more details.
We don't currently support offline payments, so you'll want to look at a separate accounting system for those payments.
That said, it's totally understandable that you'd want to keep this data in one place. You might be interested in using our webhooks system to offer live updates to your accounting system without directly touching the code that creates the charge in Stripe.

Resources