#humming-bird_best-practices
1 messages ¡ Page 1 of 1 (latest)
đ Welcome to your new thread!
â˛ď¸ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
âąď¸ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
đ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1301473225963995168
đ Have more to share? Add more details, code, screenshots, videos, etc. below.
Seems it cut off parts of the "Question":
Implementing with Payment Intents, Transactions and Connect.
We have 3 entities:
Customer
Platform/Company (us)
Session provider (third party connected via Stripe Connect)
What we are trying to achieve:
1. Customer books and pays for the session ahead of time.
- Session could take place the same day or in the future with a Provider through the Platform.
2. After the session is done, the provider gets payed 80% and the platform takes 20%.
I have looked at the "separate-charges-and-transfers#collect-fees" in the documentation and its quite close to what we want to achieve, but with a delay of transfers (we would handle the delay inside our platform).
At the moment we create paymentIntent with `transfer_group` but not the `transfer_data.destination` because the provider is getting payed after the session is done using a transfer. (This is not live, only in test mode)
But unsure if we should use `application_fee_amount`, because technically we don't "own" the 20% until after the session is done. So would probably need some guidance on what would be the "best" approach.
If it would be better to have the platform / company as connetected account and transfer to that entity also at the same time?
hi there!
you want the end user to pay the paltform immediatley, and then the paltform later transfer the funds to the connected account?
if so, you have to use Separate Charges & Transfers for this.
But unsure if we should use
application_fee_amount
With Separate Charges & Transfers you shouldn't useapplication_fee_amountno. You would just create a Transfer for 80% of the amount
Thanks for the fast response!
So we would transfer the 80% and then just "leave" the 20% on the account balance? Is there anyway to "mark" the 20% as "paid", so we know what balance is outstanding still? Just to know thats "profit" and what still due.
So we would transfer the 80% and then just "leave" the 20% on the account balance?
correct
Is there anyway to "mark" the 20% as "paid"
What would that mean concretely?
Probably explained it incorrectly, trying to rewrite it to make a bit more sense (hopefully)
We want a way to differentiate if something is profit or still outstanding to be payed out the providers via connected accounts. The providers are payed each month, but should only be payed for the session that have been.
You could on the PaymentIntent add some metadata, that clarifies if you already transfered the 80% or not. that's the only way I can think of.
You could use metadata and/or transfer_group to be able to tie a transfer to a certain payment, then when reconciling you match the transfer to the payment and compare the amount
Okey, that makes sense.
But should the transfer to the "providers" happen directly when we are payed by the customer and when we do a payout to the "provider", we only send the amount that is due for sessions that has been or would it be better to do that after the session?
I didn' tthink of this. It's true you could transfer the funds immediately, but delay the payout. In that case you don't need to use Separate Charges & Transfers. But it seems more complex, like if you want to take bak funds fomr the connected account.
So after session would make more sense in how "strip" normally (not a normal case probably :P) to do the transfer and then mark the paymentIntent as "done" via metadata?
I don't think it's "normal" or not. It's just that it's simpler for you to manage: you get the funds immediately, then only if the session is completed you send the funds to the connected account. so if there is an issue with a session you could hold the funds or refund the end user.
but if you prefere to transfer the funds immediately, that's an option.
Will go with after the session is done then! Thanks for the answers!
If I have more questions that is related to this case (later), would it be better to create a new "thread" via the form and link to this or write the same thing again with all the information?
this thread will be automatically closed. then feel free to reopen a new one.