Can you generate a url from a payment request?
You can. If you make a Bitcoin URI with the r parameter, it will interpret that as a url to fetch the PaymentRequest from.

Documentation on this feature is frustratingly sparse, so I'm having trouble figuring out how to implement all of the details, though.