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