Hi again!
According to the flow design shared, my expectation for both execution examples you shared is that:
-the condition evaluation will fail for the one without payments in the Subject, so it takes the false branch, does nothing, and Flow terminates successfully.
-the condition evaluation will succeed for the one with payments in Subject, so it takes the true branch, 'Get items' is executed, 'Apply to each will be executed X times (same nr of items obtained by 'Get items'), and Flow terminates successfully.
I mean, Flow is marked as failed only if something internally crashes, or you add a 'Terminate' action block and specify status 'Failed'. So if your expectation is that when flow runs and takes the false branch, flow execution shall be marked as failed, you just need to add a Terminate action block to the false branch.
Now, on te second execution (the one that takes the true branch), in the current screenshot you shared I cannot see the nr of times 'Apply to each' was executed. Can you scroll down and share a new screenshot?
Hope this helps