Maybe a long time ago, but I get my pay which is supposed to be on the 1st and 15th on like the 13th and 29th or something. Getting paid "two days early" is a pretty common feature with Direct Deposit these days. It is always credited to my account before my actual paycheck technically gets posed.
> maybe charging a transaction fee
I imagine someone would be paying for the transaction of physically handling all the cash, no? Its not like having all the logistics of handling cash to potentially thousands of employees is a zero dollar cost. I imagine its massively cheaper for everyone to pay whatever marginal cost my employer is paying for ACH/DirectDeposit through their payroll app than paying a ton of people to handle and keep track of the cash.