Bank account details can be updated at any time. However, if a payout is already in transit, it will be paid out to the previous bank account and not to the new one.
Stripe creates payouts in advance of their post date to ensure that funds reach your bank account on the date that they are expected. If there is a payout showing in your Dashboard as “in transit” or “paid” any changes to your bank account information will not retroactively apply to these payouts and will only apply to the next payout.
Payouts are sent to the bank account on file at the time the payout is initiated. If that account is closed, banks will then either inform Stripe that the bank account is closed and return the funds to your account automatically or contact you directly to disperse the funds. It can take up to 5 business days for the money to be returned to Stripe.
You should contact your old bank to understand what will happen to the funds. You will need to provide the following information: bank account details, date expected, exact amount, and payor (Stripe). You can find these details at the Dashboard.
If you haven’t received a payment, it’s possible the bank details were entered incorrectly (either a typo or not the account you thought it would go to). Go to the Settings page of the Dashboard, select Business Settings, and correct your bank details if necessary.
If the bank account information added to your Stripe account exists (the account number and/or routing number exist) at the time the payout went "in transit", your payouts was sent there.
If the bank account does not exist, the payout(s) will be returned to your Stripe balance.