Generally in banking you either separate preauthorization (or reservation of funds) from authorization, or you separate transaction from settlement and you compute an acceptable rate of loss.
Why did you decide to go with an escrow model in your use case?
A > safe > B
Safe account is called this way because we don't risk the misuse of money in case of rollback.