Hi Rob, what I can see from the comments is that your requirements are quite different that requirements of our other clients.
Why we made the direct debit charge using button ? Because basically providers, let's say 99 % of all our customers with Direct debit, charge customers one day or few days in month. And it's not a problem for them to login and click the button.
Clicking of the button is also a verification step that customer debit order will be correct, amounts are fine etc.