Connected accounts and blocked transfers

252 views
Skip to first unread message

Paul Dailly

unread,
Aug 26, 2021, 6:35:25 PM8/26/21
to Stripe API Discussion
Hi there,

We are currently using the separate charges and transfers approach with Stripe Connect. One issue we are running into is the following.

1. A customer creates a connected account using the Stipe Hosted UI onboarding flow. Often this only requires minimal KYC details from the customer in order for their account to be activated initially.

2. Once we're notified of the activated connected account, we start processing payments on the associated platform account, using the separate charges and transfers approach. This approach allows us to transfer a portion of the payment to the connected account, less any product specific fee, as per our internal business rules. We use separate charges and transfers because sometimes the payment is split, and transferred to multiple connected accounts, again based on internal business logic.

3. The customer's connected account can sometimes be flagged as needing additional KYC docs sometime after it was initially activated. Usually this happens after their account reaches some payout threshold. If the docs are not provided in a sufficient time frame by the account holder, the connected account's transfer capabilities are blocked. This means we can no longer transfer them the proceeds owed to them from a payment processed on the platform account.

4. When we realise a connected account's transfer capability has been suspended, we essentially wait until the account regains the capability, and then re-attempt all the transfers they were due.

The above process works OK, but it has one specific limitation that I'm not sure how best to overcome. During the period of time in which transfers are blocked, we were advised we had to ensure the money owed remained on the platform account, and was never paid out to the platform account's physical bank account. 

In order to ensure this, we switched the platform account to using manual payouts. The problem with this is that if we try to perform a manual payout for an amount which is not the full available balance (in order to ensure money owed to connected account(s) does not leave the platform), the resulting payout does not contain sufficient detail for our finance team. Only if the full amount is paid out manually does the payout contain the sufficient level of detail.

I am presuming this issue of needing to 'hold' money owed to connected accounts is a common one, and if so, I was just wondering if there are any common patterns applied to handling it, that would avoid some of the limitations I've described above?

Thanks,

Paul

Remi J.

unread,
Aug 26, 2021, 6:42:09 PM8/26/21
to Stripe API Discussion
Hello Paul,

In the situation you describe, we (Stripe) can't infer what transactions are associated with the Payout you create on your own platform account from a part of your balance. When you pay out all the funds we can infer that all transactions are linked to it but not in this case. Unfortunately, this is a limitation of this flow where we usually encourage platforms like yours to track the funds themselves and separate what transactions are part of your connected accounts' balance and what transactions are part of yours. This would be the only way today and you couldn't rely on the reconciliation for manual Payouts (which is quite recent overall).

Additionally, I'd recommend keeping track of accounts where data is missing. You can know in advance that transfers will be disabled and stop accepting payments on their behalf before they get disabled and force them to provide all the relevant information before you start accepting payments on their behalf again. This would ensure you don't hold funds for an account that can't receive the funds from you.

Hope this helps!
Remi

--
To unsubscribe from this group and stop receiving emails from it, send an email to api-discuss...@lists.stripe.com.
Reply all
Reply to author
Forward
0 new messages