#Kalluste

1 messages · Page 1 of 1 (latest)

velvet umbraBOT
chrome swift
#

Hello 👋
With custom connect, I'm assuming you're using destination charges correct?

queen lion
#

yes, thats correct

chrome swift
#

If so, the refunds would be created on the platform account first

queen lion
#

Yes, and there we are using the reverse_transfer flag to pull back the funds from connected account

#

We are trying to protect ourselves from the case where a connected account makes a refund of 1000€ and then never makes any new payments. Meaning our platform account will lose 1000€. And for that we are first checking the connected account balance.

chrome swift
#

Right, At the end of the day, with Express and Custom accounts the responsibility falls on the platform to cover negative balances.

We would try debiting external bank account of the connected account to cover for the negative balance but if all attempts fail then platform would need to cover the negative balance.

We have a lot of information about this in our docs
https://stripe.com/docs/connect/account-balances#automatically-debit-connected-accounts:~:text=For Express and,file is updated

https://stripe.com/docs/connect/account-balances#automatically-debit-connected-accounts

https://stripe.com/docs/connect/account-balances#understanding-connected-reserve-balances

#

But your approach to check their balance makes sense here

queen lion
#

Thank you for the information! I'll take a closer look at the provided docs

#

But do you think adding the bending and available balance together to know the balance of connected account is the right way for this?

velvet umbraBOT
cloud bear
#

Hey just catching up, so the current open question is whether the refund will come out of both pending and available balance or just available balance?

#

How to check whether they have the proper funds for a refund essentially?

queen lion
#

yes, that is correct!

cloud bear
#

Gotcha, not immediately sure and am looking in to it. Will get back to you

#

According to our docs it will only come from available balance: https://stripe.com/docs/refunds

Refunds use your available Stripe balance, which doesn’t include any pending balance. If your available balance doesn’t cover the amount of the refund, Stripe debits the remaining amount from your bank account.

#

That being said I thought you could refund a payment before its funds have landed. I will check with my colleagues and get back to you

queen lion
#

I think it's possible to do this with reverse_transfer set to true.

ember furnace
#

👋 stepping in

#

So overall yeah it is fine to look at the pending + available balance of the Connected Account to understand their current balance, but overall you shouldn't really not refund a customer if they are requesting one. Otherwise that is just going to lead to disputes which will cost you more than the refund due to the dispute fee

queen lion
#

What do you mean "but overall you shouldn't really not refund a customer if they are requesting one."

ember furnace
#

Well if it is a legitimate refund request from a customer then you shouldn't not refund them just because the Connected Account has a $0 balance.

#

I'm not familiar with your product or what would make a refund request legitimate or illegitimate (like if the payment was eventually disputed would you win the dispute based on the evidence you can provide)

#

But if a customer requests a refund for a legit reason, then you don't issue one, they will likely just dispute the original charge

queen lion
#

I should explain a bit. We are providing a dashboard for our custom connected accounts where they can see their payments and also make refunds to end-customers.

#

but since if a connected account balance is 0 the refund will be debited from our platform account we want to first check if the connected account even has enough balance to make the refund to customer

ember furnace
#

I mean that isn't really how it works

#

The refund will always be debited from your platform. That is where the charges take place.

queen lion
#

yes, but we can protect ourselves from our connected accounts making too many refunds by first checking the connected account balance.

ember furnace
#

I mean, kind of. As I said, in the end you won't really be protecting yourself if the charges just turn into disputes instead of refunds. You as the platform are still ultimately liable here.

queen lion
#

it's the merchant itself who is doing the refunding. So why should there be a dispute?

ember furnace
#

The end-customer dictates whether there is a dispute.

#

They tell their bank "hey I wanted a refund for xyz reason but they didn't provide me one, give me my money back"

#

Overall it is fine if you want to limit refunds when there isn't sufficient balance in your Connected Accounts

#

But that should come with some sort of action

#

Like are you going to contact your Connected Account user and ask them to send you funds so you can top up your account to handle the refund? Or, are you going to flip them to manual payouts and rely on future payments before you allow them to refund?

#

There are a couple things you can do here

#

But I just wouldn't put it as an indefinite $0 balance = no refunds.

#

That will likely lead to issues (disputes)

queen lion
#

oh, okay. gotcha

#

Do i need to flip them to manual refunds if the reverse_transfer flag is set to true or are new payments then covering the refund when the connected account balance was 0 at the time of the refund?

ember furnace
#

If you reverse the transfer then that will push the Connected Account balance negative if they didn't have sufficient balance at the time. This will also add Connect Reserve transactions to your platform (https://stripe.com/docs/connect/account-balances#understanding-connected-reserve-balances) to set aside funds to cover that negative balance. Then, if you have debit_negative_balances flag as true and they are in one of the supported countries we will try to debit the Connected Account's external account (their bank account). If that is successful then the Connected Account balance will be repaired and your platform Connect Reserve funds will be released. If that debit fails, or doesn't happen, then we will wait on future payments/transfers to slowly repair the Connected Accounts negative balance and we will correspondingly release your Connect Reserves.

#

Let me know if that doesn't make snse

queen lion
#

But since the original payment intent was made on my platform account and the refund is made like this:

return this.stripe.refunds.create({
payment_intent: stripePaymentIntentId,
reverse_transfer: true,
amount: minorCurrencyUnitAmount,
});

The initial refund will still be taken from my platform acount or is it not?

#

If it's not taken from our paltform account and the connected account balance will go negative then our issue would be solved.

ember furnace
#

Yes the funds for the refund are taken from your platform. By setting reverse_transfer: true, at the same time as the refund, we reverse the funds sent to your Connected Account for the transfer that is associated with that PaymentIntent and send those funds back to your platform.

#

At this point I'd recommend just testing this all out!

#

It is pretty easy to spin up a test here and it may give you a better understanding of exactly how this all works than us talking about it in hypothetical

queen lion
#

okay, cool! thank you