Hey Igor,
In our API, a Transfer represents money moving between your own Stripe account's balance (the platform's) and the connected account's balance. The funds move between the accounts but stay within Stripe. On the other hand, a Payout represents money moving from a Stripe account's balance to their own bank account outside of Stripe (or debit card in some cases). They are two completely separate APIs with a different logic and behaviour.
In your example, you are creating a PaymentIntent. That PaymentIntent has `transfer_data[destination]: 'acct_123'` and `application_fee_amount` set. This is called a
Destination Charge. What this means is that your customer is going to pay $10, you're going to transfer those $10 to the connected account's balance but also take back your own share as an ApplicationFee (say $1) and you as the platform also pay our fee (Stripe's). In this world, the customer pays $10, you give $9 to the connected account ($10 amount minus your $1 application fee) and you net out $0.41 (our fee is $0.59 in this case).
Now you also mentioned that you are using manual capture. So, when the Customer pays, the funds are only "authorized" but they haven't moved yet. At some point you will capture the payment which will start our process of settlement. At that point, the Transfer for $10 to the connected account will be created and the ApplicationFee moving back $1 to your account will too. All those objects will have what we call a BalanceTransaction associated with it. This object represents the money movement in your balance. It has a property called `available_on` that will indicate when the funds will be available in that account's balance. In the US, it takes 2 days for a card payment to be available after its capture and until it's available the funds are considered pending and are in the pending balance.
What this means is that on Monday you create the payment without capturing. On Tuesday you capture which moves all the money in both accounts. At this point, your account will see a $0.41 positive balance as your share. The connected account will see a positive balance of $9. But the funds aren't available yet, they stay in the pending balance until Thursday when they would be made available.
By default, Stripe accounts are on automatic Payouts. What this means is that daily, we will aggregate all the funds that are settling that day and if the amount is positive we will create a Payout to send the money to the bank account (or debit card) associated with that Stripe account. Unless you explicitly switch your connected account's payout schedule to manual (which most businesses don't) you really don't need to do anything else and the funds will be paid out daily whenever they become available. If your connected account has sales every day they'd simply get a new Payout each day.
This is a lot to digest though in one email. Our docs cover a lot of this in details and I'd recommend going through some of the following links:
If you have any follow up questions, I recommend talking directly with our support team and they can help you understand this further and tailored to your business model and specific examples you could share. You can contact them here:
https://support.stripe.com/contact
Hope this helps!
Best,
Remi