I joined routstr team recently.
Did myself worked on such solution
https://github.com/9qeklajc/ecash-402-client
Where u pay ecash per request.
This method ist for sure as u mentioned it, not perfekt, but its a decision the provider make and risk loses ..
Wrote also some ideas on the topic, about a smart client and dynamic provider.
https://github.com/ecash-402/ecash-402-specs
Feedback is welcome