#cj_best-practices

1 messages ยท Page 1 of 1 (latest)

inner prismBOT
#

๐Ÿ‘‹ 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.

trim narwhal
#

Hi there

soft lance
#

harro

trim narwhal
#

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

soft lance
#

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

trim narwhal
#

Not sure I follow the invoice piece

soft lance
#

hmm I'll, give you an example

trim narwhal
soft lance
#

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

  1. Host to client ($90)
  2. Platform to client ($10)
  3. 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

trim narwhal
#

1 & 2 together are going to be tricky

soft lance
#

how so?

trim narwhal
#

Just to be clear, do you want the client to be charged once, for $100?

soft lance
#

yes

#

client will pay $100 once

#

client pays host directly
I just take fee from both side

trim narwhal
#

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

soft lance
#

I want them to have relationship with the host

#

so on their card statement, they will see host details

trim narwhal
#

I still don't quite understand the "three invoices" part above, especially if you plan on charging the customer once for $100

soft lance
#

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

trim narwhal
#

What do you mean exactly by "produce invoice"?

soft lance
#

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?

soft lance
inner prismBOT
trim narwhal
#

Why is the application fee insufficient in this case?

soft lance
#

hmm I'm not following. what would you recommend if I want to acheive my requirement

  1. Client deals with Host directly but pays using my platform
  2. I take fees off from both the client and host
#

are you saying just use a single application fee for both client/host?

opal marsh
#

hello! taking over from roadrunner, gimme a while to get caught up

soft lance
#

thank you ๐Ÿ™‚

#

you still there?

opal marsh
#

yep!

soft lance
#

๐Ÿ‘

opal marsh
#

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

soft lance
#

just going back a bit. how would the transaction flow look like?

#

do you still recommend using direct charge?

opal marsh
#

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?

soft lance
#

the host

#

so basic requirement is

  1. Client deals with Host directly but pays using my platform
  2. I take fees off from both the client and host
opal marsh
#

is the host always based in the same country as your platform account?

soft lance
#

yes

#

nz to be specific

opal marsh
#

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

Collect funds from a connected account by debiting its Stripe balance.

#

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

soft lance
#

How is different from DirectCharge hmm?

opal marsh
#

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

soft lance
#

oh so if I use destination charge with on_behalf_of instead who shows up on the customer (client) credit card statement

opal marsh
soft lance
#

oh awesome. could you check if my understanding is correct

#
  1. Charge customer full amount ($100)
  2. Application fee application_fee_amount $10 (this is the customer fee)
  3. Make separate account debit on the connected account to take the host fee ($5)
opal marsh
#

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

soft lance
#

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?

opal marsh
#

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

soft lance
#

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

opal marsh
#

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

soft lance
#

thank you - ideaally I want to control when they get the payout (like a month later)

opal marsh
#

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"

Manage the automatic payout schedule to your connected accounts.

#

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

[0] https://stripe.com/docs/api/expanding_objects

soft lance
#

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?

opal marsh
#

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

soft lance
#

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...

opal marsh
#

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

soft lance
#

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?

opal marsh
#

that doesn't really matter, you can still do other types of charges

soft lance
#

I see okok

#

I'll start implementing now and come back if I have more Qs ๐Ÿ™‚

#

tysm you've been very helpful!

opal marsh
#

you're welcome! Connect is pretty complex, so definitely reach out anytime you have questions or issues ๐Ÿ˜„