Fix payment state logic to only result in failed if there are no valid payments.