Nope no requirement that they be a bank. Plenty of places allow you to pay online by “direct deposit”, which in every country other than the US involves them providing you with their bank a/c details.
In the US you give them /your/ bank account, and /they/ initiate the withdrawal. Anyone with your account details can pay for something from your account, including to a service they can withdraw from.
Better yet fraud insurance covers credit cards, not debit or “cheque”. Specifically: if someone uses your bank a/c# you are responsible for recovering the money.
> Plenty of places allow you to pay online by “direct deposit”
Looks like you've missed the "or have an agreement with a bank".
> if someone uses your bank a/c# you are responsible for recovering the money.
I do not think this is true. Of course credit card fraud liability policy only covers the credit card, but there are rules about bank transfers. My reading of https://www.law.cornell.edu/ucc/4A/part_2 is that the customer is liable for the payment only if it is authorized and passes "commercially reasonable" security procedure. If somebody just gets you bank account number, it's clearly not an authorized payment (unless they make it look authorized, i.e. by stealing your identity or passwords, etc.) and you will not be liable for it.
In the US you give them /your/ bank account, and /they/ initiate the withdrawal. Anyone with your account details can pay for something from your account, including to a service they can withdraw from.
Better yet fraud insurance covers credit cards, not debit or “cheque”. Specifically: if someone uses your bank a/c# you are responsible for recovering the money.