#cj_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/1273060912772681799
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Hi there
harro
Could you just build in the customer fee into the total amount of the charge?
Then you can use destination charges and decide how much of the funds to transfer to your host
hmm I need to produce invoices for both the
customer fee I take and host fee I take
if I take 1 total application fee, would this be an issue
also I need to be able to refund one of the fees but not both
Not sure I follow the invoice piece
hmm I'll, give you an example
Have you reviewed the flow diagrams here? https://docs.stripe.com/connect/charges
Client rents a room from a host
$100 total charge
I charge $10 fee from client and $5 fee from the host
I need 3 invoices generate for this single transactions
- Host to client ($90)
- Platform to client ($10)
- Platform to host ($5)
Ya I looked at that page already. not sure how to ahceive the exact thing I want
I don't think I can use destination charges because then it involves the platform in the middle
My company does not want to be involved in 2 parties but we also do not want the Host to receive their charges immediately from Client
1 & 2 together are going to be tricky
how so?
Just to be clear, do you want the client to be charged once, for $100?
yes
client will pay $100 once
client pays host directly
I just take fee from both side
Do you want the client to have a relationship with your platform or with the host? In the Airbnb case, for example, the client has a relationship with the platform; the client sees Airbnb details on their card statement
I want them to have relationship with the host
so on their card statement, they will see host details
So I think you want to use Standard accounts with direct charges and either use application fees or charge the connected accounts: https://docs.stripe.com/connect/account-debits#charging-a-connected-account
I still don't quite understand the "three invoices" part above, especially if you plan on charging the customer once for $100
I thought I need to produce invoice for the application fees I charge to the host?
and also for the application fee I charge to the client
What do you mean exactly by "produce invoice"?
so If I follow the what you said
$100 charge with $10 application fee (client fee)
and I'll charge $5 direct charge to the connected host account after the $100 main transaction?
Give host an invoice from my company which says I took $5 off you
Why is the application fee insufficient in this case?
hmm I'm not following. what would you recommend if I want to acheive my requirement
- Client deals with Host directly but pays using my platform
- I take fees off from both the client and host
are you saying just use a single application fee for both client/host?
hello! taking over from roadrunner, gimme a while to get caught up
yep!
๐
so i took a look and i'm not entirely certain it's going to be possible to create an invoice for 2 easily host an invoice from my company which says I took $5 off you
right now, off the top of my head, you may need to create a one-off invoice and then mark it as paid out of band
just going back a bit. how would the transaction flow look like?
do you still recommend using direct charge?
i think my first question here is who do you expect to show up on the customer (client) credit card statement? the platform or the host?
the host
so basic requirement is
- Client deals with Host directly but pays using my platform
- I take fees off from both the client and host
is the host always based in the same country as your platform account?
hrm, okay, so this feature comes to mind since you mentioned the host is based in the same country : https://docs.stripe.com/connect/account-debits. Bear in mind that the host needs to be either an Express or Custom account for you to be able to use this feature
so you can charge the customer the full amount using direct charges still, then list the fee taken from the customer. Do a separate account debit on the connected account
the account debit won't create an Invoice by default from what I recall though
How is different from DirectCharge hmm?
going back to your original question - direct charges is only recommended if your connected accounts are Standard. If you use Express or Custom, we recommend destination charges with on_behalf_of instead
either direct charges, or destination charges with on_behalf_of would work for your use case
oh so if I use destination charge with on_behalf_of instead who shows up on the customer (client) credit card statement
oh awesome. could you check if my understanding is correct
- Charge customer full amount ($100)
- Application fee
application_fee_amount$10 (this is the customer fee) - Make separate account debit on the connected account to take the host fee ($5)
pretty much yes, you'll want to test this out to see how it goes. Also, I want to highlight that account debits do have a fee : https://stripe.com/connect/pricing, scroll all the way to the end
Personally, i would just include both the customer and host fee in application_fee_amount, but list it in metadata and/or store the details in your own DB so that you can create a breakdown if necessary
I see... if I include both fees in application_fee_amount would processing a refund for 1 fee (i.e. host fee) be a problem?
You need to calculate how much the refund the customer and how much to refund from the application_fee_amount
you can do partial refunds / reversals for both of these
I see... last question
if there a way to control the payout on the connected account?
I don't want the host to take the money on the same day the customer pays
yes, you can control the payout on the connected account. However, the host won't get the money on the same day the customer pays anyway due to how payout works in general. gimme a while to type out how this works
thank you - ideaally I want to control when they get the payout (like a month later)
if you want to get the payout a month later, what you can do is to set the delay_days (assuming you're using direct charges or on_behalf_of) : https://docs.stripe.com/connect/manage-payout-schedule#delay_days. How you tell that this works, is that you'll need to see the available_on of the Balance Transaction of the payment on the connected account. the transaction can only be paid out when it becomes "available"
To be more specific, for destination charges, if you want to know when the money transferred to the connected account becomes available for payout, retrieve the PaymentIntent and expand [0] latest_charge.transfer.destination_payment.balance_transaction. The corresponding Balance Transaction in the response will contain available_on which shows when the funds will be available to be paid out
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
awesome! This is good thank you
just few more Qs that popped up in my head
is it ok to give none access to the dashboard for connected hosts? does this mean the hosts can't check anything about their connected account?
if you set none access to the dashboard for connected hosts - are you planning to build your own dashboard for the hosts? cause like what you mentioned, without Dashboard access, the hosts won't be able to check anything about their connected account unless you build it
hmm I guess better question is
if I give them express access, can they manually do payout themselves? how much control will they have of their connected account
I just don't want them to mess around with payout side...
even if you give them Dashboard access, they can't fiddle around and payout before the funds become available which you have control over when you set delay_days
i see... awesome awesome
hey on my account, I already applied(?) for connected account and I chose the charge type of direct_charge is there a way to change this?
that doesn't really matter, you can still do other types of charges
I see okok
I'll start implementing now and come back if I have more Qs ๐
tysm you've been very helpful!
you're welcome! Connect is pretty complex, so definitely reach out anytime you have questions or issues ๐