Each multifamily building I have has its own bank account. It's written into the lease that tenants must deposit their rents into that particular account (either by online bank transfer or by walking in a check/cash); I do not collect rents directly, nor would I if anyone asked. Systems don't work if there are any exceptions. Each tenant living in a building has their own unique rent amount, so even if they do not leave a notation with the rent payment, I know whom paid the rent based on the amount alone. I get an email alert each time a deposit is made.
I prefer not to use any third-party vendors (Zelle, etc.) because firstly, that creates another link in the chain that can break down between the tenant's deposit and my bank account. There is an occasional thread on BP where the vendor has a system crash or technical glitch and transfers are delayed. In a perfect situation, the payment will still be delayed (even if by hours) using this additional system.
And secondly, many of these vendors have "clawback" provisions where, in their terms of service, you give them permission to go back into your account - even weeks after the fact - and reverse a deposit that was made by your tenant.
My system is simple, allows for tenants to pay through multiple means, and does not cost me anything extra.