Paypal uses ACH under the hood (it's one of only two options, the other being wire transfers which are expensive and often even need to have humans in the loop). So they guarantee the payment to the seller, and then as the buyer your bank account gets charged up to a day later when the ACH batch processing goes through. If you don't have enough money in your bank when that happens, it gets rejected and Paypal takes on that loss unless they can recover it from you via collections system.
To limit their risk, Paypal even uses Plaid in some cases to check your bank account balance before deciding whether to allow your payment to go through! But even that isn't a guarantee, because you could always have made multiple ACH payments that day of which some might go through and some could fail due to lack of funds. It's like trying to prevent a race condition in a multithreaded program by just checking the value again closer to where the race occurs, it might make the issue happen a little bit less often but to actually solve the problem you need certain atomic primitives which the US bank transfer system completely lacks.
> We need something like UPI (india) or Wechat (china) in the US. Zelle is a poor substitute.
Why is zelle a poor substitute? I can pay people via phone number.
From the perspective that instant payments should be an inexpensive, accessible utility for the benefit of all citizens, the Fed's FedNow efforts are preferable to Zelle or legacy ACH services.
[1] https://en.wikipedia.org/wiki/Zelle_(payment_service)
[2] https://corpgov.law.harvard.edu/2020/08/31/fednow-the-federa...
We need something like UPI (india) or Wechat (china) in the US. Zelle is a poor substitute.