I've some questions on the payments Object architecture from Stripe. I've already emailed support for this, but they specifically didn't answer "Question 2" and weren't sure about the other two questions. Now I'm trying this mailing list hopping this is read by someone more technical savvy.
Problem: match Stripe connected account bank account transfer to related managed account payments.
Architecture:
Charges are created in the platform account with "destination" parameter pointing to the connected account.
Transfer Schedule: automatic, Daily — 2 business day rolling basis
We don't want to use manual transfer schedule.
When we charge a customer we create a captured charge with the `destination` parameter. Stripe creates the following objects based on this Charge object.
Transfer object on the platform account:
This represents a transfer from the customer charge to the connected account
- type `stripe_account`
- with `destination_payment` field
Payment (Charge) object in the Connected Account
This represents the payment charge based on the platform transfer.
- Includes a `source_transfer` field which we use to relate with the platform transfer and associated customer Charge.
Transfer object in the Connected Account
This is a bulk transfer on available Payment objects on the Connected Account.
- type `card` or `bank_account`
- Don't include any field we could use to relate to the corresponding Payment objects
For each of this objects Stripe also creates BalanceTransaction objects. In the dashboard we can find a representation on this objects in the Balance page.
Inspecting the Balance Transaction object referred in `balance_transaction` for the Connected Account Payment object we can find the Available On date , which tell us when Stripe backend will create the Connected Account bank Transfer.
Inspecting the Balance Transaction object referred in `balance_transaction` for the Connected Account bank Transfer we check we have an empty `source_transfers` field.
We know it's possible to relate the Connected Account bank Transfer objects with the Connected Account Payment object, because you do so on the Transfer page.
Question 1: Can we trust the Available On date on the Payments Balance Transaction, for the exact date the bank account Transfer will be created?
Question 2: Is it possible and how do we relate a Connected Account bank transfer with the available Payment objects? We need some code that based on a transfer ID allow us to fetch all payments (charge) IDs.
Question 3: Will the transferred amounts be available on our merchants bank account statement the same day the Connected Account Transfer is `status` paid. Will this happen on the same day that shows on Available On from the associated Payment objects?