#linqisnice_docs
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/1235886772206964816
đ Have more to share? Add more details, code, screenshots, videos, etc. below.
Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
- linqisnice_best-practices, 3 days ago, 41 messages
- linqisnice_docs, 4 days ago, 5 messages
What we do is the following:
- Create express connect account
- Generate onboarding link, which takes them to your website
- When somebody wants to purchase their product, we do either a) checkout session or b) payment link.
These are the configurations:
a) checkout session
- UiMode = embedded
- Mode = payment
- PaymentIntent.OnBehalfOf = connected account
- transferdata destination = connected account
b) payment link:
- transferdataq destination = connected account
- onbehalfof = connected account
Hi, let me help you with this.
I notice I said express checkout above, I can't see anything relating to "express" when creating checkout so I'm not sure where I got this from
the connected account is express though
You won't get the Stripe fee until the payment is completed.
Yes, right, but I should be able to attach an application fee to the payment intent (checkout) or the payment link to counteract the processing fee, no?
Yes, but if it's important for you to know the fee amount before, you can first charge the customer, and then transfer the amount minus fee to the connected account in a separate step: https://stripe.com/docs/connect/charges-transfers
I don't understand how it could NOT be important? When we first start up, we have nothing in our stripe account. Obviously we'll go negative if we only use stripe to give our customers the ability to conveniently set up online payment for their customers
So that's why I found it a bit odd
should I not be using OnBehalfOf? It was strongly recommended on here by another support agent but it just seems like more work for some reason?
Our platform is not a merchant, we dont' sell products, we're a merchant platform so we only use stripe to conveniently give them access to online payment
You can set application fee to, say, 10%, and then it will always cover your Stripe fee.
Yes, but this doesn't seem good enough, we want our fees as low as possible since this is not our main source of income.
It depends on your use case. Could share a bit more details?
Then you can use the approach I provided above.
Basically, on_behalf_of defines what account will be visible as the settlement merchant to the customer, e.g. on statement descriptor.
Sure, so we're a property management platform. If you have a property with accommodations (like a hotel or a campsite or what have you), you'd use our platform to handle your entire property (everything form pricing to availability to staff etc). These property managers own customers can book directly via the property managers (iframe) website, and they can select online payment. This is where stripe comes into play. For the property amnager, OUR customer, it's very simple, they just need to follow the link to stripe to onboard and that's that. We create the checkout sessions in our backend and handle everything else
We don't care aobut their customers, necessarily. Our customers are the property managers. Who want to expose easy, safe online payment options to **their **customers.
I think that makes sense
so like a merchant platform
And for this we want minimal friction and minimal fees. We're currently not interested in taking a cut
You can as well take direct payments, but it's recommended for the Standard account type, since they will be responsible for refunds, disputes etc. You can see the difference here: https://docs.stripe.com/connect/accounts
Alternatively, you can achieve similar result with Express accounts, with separate charges and transfers, where you check the Stripe fee before transfering the funds to the connected account. You probably would also like to use on_behalf_of.
is this separate charges and transfers?
TransferData = new PaymentLinkTransferDataOptions
{
Destination = connectedAccountId
},
And we don't have to do any tax reporting right? As I understand it, the money never touches our account. I.e. it goes straight to stripes accounts then is transferred to the connected account?
"where you check the Stripe fee before transfering the funds to the connected account"
how would this be done?
No. This is just a part of the parameters for an PaymentIntent, but it Transfers the funds automatically after the charge is completed. Please follow the guide that I shared, you can see examples in your preferred programming language: https://stripe.com/docs/connect/charges-transfers
The funds do touch your Platform account, unless you're using direct charges.
I don't know much about tax reporting, you should ask Stripe Support: https://support.stripe.com/?contact=true
On the Balance Transaction object: https://docs.stripe.com/api/balance_transactions/object#balance_transaction_object-fee
It is available on the Charge object (Charge.balance_transaction), when the Charge succeeds.
Ah, ok. So, given our business, you recommend that I create express connect account with separate charges and transfers, and then don't automatically transfer to the connected account, but instead first create the charge -> check fee then take a cut equal to that -> then transfer?
just to be sure
That's one option, alternatively, you can create Standard accounts and use direct charges.
And what are the downsides to that? I'm not entirely surely anymore why I was recommended onbehalof, it seems standard would achieve the same thing but with much less friction, no?
the fees arent higher, right?
Depending on which account you want to make liable for refunds/disputes, etc. Based on the comparison article I shared.
Yes, ok. But if we create express accounts, is the flow I outlined above correct?
Yes
I don't know much about fees unfortunately, please ask Stripe Support: https://support.stripe.com/?contact=true
(there's a per-account fee for Express accounts)
Hmm, alright, but wouldn't the fee vary based on the customer's region/card?
there's no way to know the fee before creating the charge so you can set the application fee?
you can work it out by building your own logic
i.e. our pricing is on our site, you can use test cards from https://docs.stripe.com/testing#international-cards in test mode to check the fee after test payments(https://docs.stripe.com/expand/use-cases#stripe-fee-for-payment) and confirm your predictive logic. You have to integrate in a way where you can see details of the card before charging it , so e.g. https://stripe.com/docs/payments/accept-a-payment-deferred
not a great answer but it's how it is today, "how can I know what the fee will be" is a common question but there's not really an answer beyond that approach
is it the account type that determines whether or not WE, the pltaform, are charged the processing fee?
isnt there a third type? separate charge and transfer? or is this something different?
that's a third type but in terms of fees it's like Destination
because it's "your platform charges the customer like a regular payment on your account, and then transfers money separately"
So let me just recap to see if I understand.
Im recommended either standard or express account.
Standard = responsibility is on the connected account, not us
Express = responsibility is on us.
And then there are three primary charge types
- Direct
- Destination
- Separate charge and transfer (which I assume to be two-step, i.e. first direct charge, money lands in our account, stripe processing fee is incurred on us, then we can transfer it to whatever account we choose?)
Are all these available for both standard and express?
In the case of direct, stripe handles everything and the money never touches our account which means we may be exempt from tax reporting?
In the case of destination, which I think is what I'm doing right now, the platform is charged the fee
Are all these available for both standard and express?
yes technically but in practise you should only ever do
Direct + Standard accounts.
Destination or SC&T + Express or Custom accounts.
because of complications like dispute liability/Dashboard access. The other combinations are possible but not usually recommended.
In the case of direct, stripe handles everything and the money never touches our account which means we may be exempt from tax reporting?
In the case of destination, which I think is what I'm doing right now, the platform is charged the fee
sounds about right
(for example if you do Direct + Express and a customer issues a chargeback, the Express account has to handle the dispute but they don't have a Dashboard access to view/manage/upload evidence, so your platform would have to build that functionality for them using the API)
Right, I see, that makes a lot of sense. thanks!
Ok so just one last question. It says the transaction for destination charges is between the customer and the platform, but the money goes directly to the connected account? Or where does "onbehalfof" come into play here? what does onbehalfof really change?
on_behalf_of changes the internal details of the settlement
so for example the merchant onboarding of the connected account is used(so imagine you're a US platform with a FR connected account and a FR customer, on_behalf_of means from the customer's bank's perspective, it's a local transaction not international). It also means things like the email receipt the customer gets have the connected account's name/branding instead of the platform
Right, I see. But what effect does it have on charges, payouts and transactions in general? does it reduce fees?
AFAIK it has no particular effect on any of those
Is there any way to read more about onbehalfof? when i search for it i only get invoice related stuff
Ok now absolutely last question: with destiantion charges, i know the processing fee is incurred on us, the platform, but do the funds ever touch our account?
yes they do
see the diagram at https://docs.stripe.com/connect/destination-charges?platform=web&ui=elements#flow-of-funds-app-fee for how the funds flow(your platform recieves funds and then there's an automatic transfer to the connected account)