You're lucky with Cahsapp. Multiple people have reported duplicate charges at various points in time (as in it wasn't just a one-time bug and then they fixed it (https://www.newsweek.com/cash-app-glitch-duplicate-charges-negative-balances-1809278)
As far as them all requiring a bank account, that's not correct. I distinctly remember buying sats using Primal wallet using Google pay (looks like you can't anymore, tho) and I just now bought Bitcoin using Moon pay using a credit card (except I can't send it because their shit's broke). So it's possible to buy btc without a bank account hooked up. I just need to find the app that actually works.