#Yassin
1 messages ยท Page 1 of 1 (latest)
Hi ๐ our Separate Charges and Transfers flow allows for disbursing funds amongst multiple Connected accounts:
https://stripe.com/docs/connect/charges-transfers
If that doesn't seem to be what you're looking for, then could you elaborate on the question you're trying to ask or problem you're trying to solve?
hi toby i am still looking through quickly ... is there a limit on the number of connected accounts or the amounts ? in our case the amounts are potentially different
There is not a limit to the number of Transfers that you can create. If you're using the source_transaction parameter when creating those Transfers, then the total amount for all Transfers you create can't exceed the amount of the Charge that you're using as the source_transaction.
If you're not using that parameter then you can transfer up to the current available balance of the Platform.
what about the amounts ? do they have to be the same ? the api seems like its all one amount ?
basically the client wants to make multiple invoice payments but not go though the please confirm page for each target
they want to review all the payments in one page then click pay
I'm no longer sure I understand the scenario that you're trying to accomplish. Could you articulate what the flow you're trying to build is?
my apologies for not being clear !
The client has many subcontractors ... and those subcontractors have employees
after each week the client wants to make payments to these subcontractors .. and those subcontractors want to do the same with their employees
we want to make all the calculations for the client and show it in one page ...
when the client clicks pay they authorise payments for all subcontractors ... they dont want to be automated for now they want to review it
does this help ?
Sorry, I don't think it did, but I'll continue to answer questions as best as I can.
I'm assuming you're referring to the amounts for the Transfers, no those don't all need to be the same.
great !
btw this is my first time working with stripe so a lot of this is me being a newb with your platform ...
so the most critical part for now is the client wants to authorise the multiple outgoing payments in one shot .. with outgoing multiple amounts and multiple receiveing accounts
The way that works, is the client would accept a single payment into their Platform, and then create Transfers to disburse those funds amongst their Connected accounts.
my aasumption is during the authorisation phase they will be redirected to your checkout page .. they are asking if they have to do the checkout page for each and every transaction
sorry again ... for not being clear ..
lemme start over ...
we are building a web app for a client
the client has subcontractors and subcontractors have employees
the app is meant to calculate all the invoices and bookkeeping that are due to the contractors and show it to the client on a weekly basis
the client then weekly makes those multiple payments authorised and payed out
the same goes for the subcontractors and their employees ... all see those invoices and payments via the app we are building
does this make it a bit more clear first of all ?
If you're going to be using Checkout Sessions, then that is a good assumption. If you're processing multiple transactions, then yes they will need to complete that process for each one, but if you're processing one payment and then using that to mark multiple objects in your system as paid then only one transaction will be completed.
These invoices that you're referring to, are they Stripe Invoices, or are they invoices on your end?
they are invoices generated by the app for each "user" of the app
we are integrating stripe because we want to use it as means to make out those payments
Okay, so removing the non-Stripe portions of your scenario, it sounds like what you want to do with Stripe is accept a single payment and then disburse the funds from that amongst multiple parties, does that sound right?
yes from the point of view of the subcontractor ... but lets fix that maybe first
once i know how that works i can extrapolate for the top user the client who only makes outgoing payments for now
or i should say how money makes into the account is not important now .. how to make outgoing payments is more important for now
Stripe is more suited for accepting payments than it is for just making outbound payments.
If we pivot to a scenario where we're thinking about a payment being accepted, who would be the party accepting the payment?
the subcontractors and the employees ...
but the whole premiss of this conendrum is the sending party wants to have some level of control on who and when those accounts receive their money i hope we can satisfy that requirement
That won't work then if there are multiple subcontractors involved. A single payment must go to a single Stripe account, if that Stripe account is using Connect and is a Platform it can then choose to create Transfers to move those funds to their Connected accounts.
It sounds to me like you're trying to build a payroll system, rather than accepting payments.
A limitation that you're likely going to run into if you're trying to control two levels down (subscontractors and then their employees) is that Connect does not support that. Connect only permits Platforms to interact one-level down with their Connected Accounts.
If Platform A is the platform for Connected Account B, and Connected Account B is also the platform for Connected Account C, then Platform A is not able to interact with Connected Account C.
sorry tbc we only need one level of control from your API ...
So what you could do with Stripe, is set up a Platform account for your client. Then you could create a Connected Account for each of their subscontractors and onboard those accounts.
Your client's Platform can then create Transfer objects to move funds from it's Stripe account balance to the Stripe account balance of their Connected accounts. The funds that accumulate in those Connected accounts will then be paid out to their corresponding bank accounts based on their Payout schedule.
great !
but as you said we are actually building a payroll system ...
does the payer account needs to go though multiple stripe checkout in this scenario ?
and can they stop those payments before it gets trasfered ?
There is no payer account in this scenario. In Stripe, the parties that are making payments are referred to as Customers. So your client would end up with a Stripe account, and would also be the customer, resulting in a scenario where they need to pay themselves. If the flow you build only processes a single payment, then they will only need to complete a single Checkout Session.
If you're disbursing funds to multiple Connected accounts, then you'll need to use Separate Charges and Transfers to accomplish that. Using that flow separates the payment and transfer process. Your code will need to explicitly create the Transfers that it wants to occur, so you have control over when those Transfers get created.
Depending on the location of your client's account, they may be able to move funds directly into their Stripe account rather than making a payment:
https://stripe.com/docs/connect/top-ups
While a lot of this is technically possible, I don't know if it is a scenario that falls within our terms and conditions. For this reason I would strongly recommend that you reach out to our Support team with a clear explanation of the business use case that you're handling to ensure that it is permitted.
https://support.stripe.com/?contact=true
We will definitely will do that ! FTR all our client / subcontractors and employees are all Canada based ! But i am curious what makes you think that what we are thinking of doing would not be permitted ? maybe i am missing something ?
I'm nervous you'd run afoul of our rule against building money transmitters if you're not accepting a payment:
https://stripe.com/legal/restricted-businesses#:~:text=medical benefit packages-,Money transmitters%2C,-currency exchange services
But maybe, I'm thinking of this wrong, maybe you'd be the Platform account and your client would be the Customer.
Its a payroll system .. i am surprised. No one has built a payroll system on stripe (yet) ?
I haven't heard of it, but that doesn't mean it hasn't happened.
so if those accounts had automatic payments methods would that be an alternative ?
meaning automatically receive money assuming we have some controls from your APIs to setup those payments
๐ I'm hopping in since @stark oriole has to head out soon
Can you elaborate a bit more on what you mean by automatic payment methods? In your scenario, who is the platform, and how has the connected accounts?
before that i will give you a tl;dr for what we discussed .. ๐
sounds good ๐
- we are trying to build a payroll system
- we want the payer to use checkout
- we want the payer to make different amounts to multiple payees in one checkout
- we want the payer to not do checkout for each transaction
i hope that summarises it ! .. i am getting better at explaining this .. i think ๐
Gotcha - so what's the current problem you're working through?
i m getting the feeling that this is not something you support ... i am new to to stripe .. and i have to say i was not expecting this would be a problem
i am editing the above requirements for our app as we go. but that is the problem we are trying to solve basically
2-4 aren't an issue (those are core payments flows that we support very well) - the only question mark is how to implement the payroll specific part. This should be relatively straightforward if the subcontractor was a platform account, and each of their employees had a connected account (to facilitate the payouts)
But as toby mentioned earlier, you'll definitely want to check in with support to see if there are any specific compliance pitfalls
We can definitely make sure all involved parties have connected accounts
would that be enough .. technically ? I already fired an email to the person working with our account for compliance purposes
Yes, I believe that should be enough (at least from an integration standpoint)
so to recap the payer will be able to make one checkout that basically makes all those payments happen ?
for the record we dont need the payments to be made right away we just want the authorisation to go through at checkout time
The payer will pay the subcontractor (which is platform), and that payment can be split amongst the balance of the subcontractor and their employees (which are separate connect accounts). The payouts would have to be made separately (depending on the payout schedule you set up they would either happen automatically at some regular cadence, or you'd create them manually through the Api or dashboard)
if this was not clear the user does not want to make 20 checkouts for all their employees .. just to make that clear ๐
So yeah, to be more specific - a client could make a single payment to the subcontractor, the subcontractor would use the API to transfer whatever portion they want to each of their employees, and those funds would eventually be paid out
ok lemme add more details ... we dont have a third party using your API to make those second level payments
its all drive by one app .. the one we are building ..
so weekly the client would make payments to subcontractors .. by going to the ui and authorising those payments to be made ..
the subcontracor also has to login to the same app and authorise those sub payments to be made from their account
nothing is automated ... every payouts needs a real person to login and make those payments for now
does this help ?
If that's how you plan on implementing your app, then your subcontractor would have to make 20 separate authorizations to send the funds to each of their employees - there isn't any way around that
ouch !
Just to double check thought - what were you hoping for instead? I'm feeling like there's something I'm missing about your use case/what you're trying to accomplish because I'm not sure how you would get the behavior you need if you need a real person to login and authorize each payout to an employee.
the system we are building is to ease payroll and bookkeeping for a construction company
the client for who we are building the system gets the upstream amounts .. and hire subcontractors to do their work
the subcontractors hire employees to do the final work
its a pain for them now because they do it in excel
they stil lwant control however to authorise those payments and review them
they just dont want to do it 20 to 100 times as they are doing it now
Ah, so then what you'll want to do is make your app do multiple transfers/payouts. So your user would do a single authorization, and your call the API multiple times in order to do all the transfers/payotus that are necessary.
thats what i want to hear ๐
does this mean we will not be using checkout ?
we are trying to be security concious and not have credentials on our backend for security purposes
so if we can all of this without calling APIs (and only using checkout) its perfect ..
if not we have to make sure we add more security in our back end .. not that its bad .. its just one more thing we need to do
You still need Checkout to accept the initial payments from the client. but all the rest of the connect pieces (the transfers, payouts) should be able to be done server-side. The only other piece that can't be done server-side is the connect onboarding process for new accounts, but that's a completely separate flow from your funds flow
yeah onboarding is a separate discussion we are not worried about it now
so what do we need to have server side ? if we get some form of ref ID from the checkout page and then we use that to make further transfers that would be awesome
is there an example we can use in your docs ?
How much of our connect documentation have you read through alreadY/
to be frank not much !
this is my first time in this discord server .. because we were not sure we could do what we want with stripe
So I'd recommend reading through these:
- https://stripe.com/docs/connect/destination-charges AND https://stripe.com/docs/connect/charges-transfers (just to get an understanding of the funds flows)
- https://stripe.com/docs/connect/collect-then-transfer-guide?platform=web
- https://stripe.com/docs/connect/creating-a-payments-page
- https://stripe.com/docs/connect/manage-payout-schedule
^^ There's a lot of information here about the funds flows and all the moving parts, and I've also included a Checkout specific link that will make more sense once you understand the fund flows
https://stripe.com/docs/connect/accounts may also be helpful
great ,,, thank you !
if you also have references for doing what we are doing from a serverless platform and what to be careful and watch out for about in terms of security that would be awesome !
That's something we don't have a ton of information on, but we do have general guidance at https://stripe.com/docs/security/guide
great .. i will make sure i go through these . Thank you so much for your help !
๐ hope if goes well!
Thank you i will stay in touch here ...
Do you happen to know if stripe has done any (canadian) taxes for employees calculations ? #day-dreaming
we have to make those and debit them directly from employees
We typically archive these threads after an hour of inactivity, but if you have follow-up questions after the thread has been archived you can always ask in the main channel again
As far as I know we only have tax reporting for US based accounts right now
do you do taxes for employees in us ? or only b2c type transactions ?
I think this is what you'll want to read: https://stripe.com/docs/connect/tax-reporting
I don't know a ton about this (we don't handle tax reporting questions very often), but definitely read through that and see if that's what you need
great !
i wont hold you longer
I want to say it was a pleasure to talk to you
and than kyou so much for your help
it was greatly appreciated
i'm glad we could be helpful! ๐