Gravitational lensing using lenses?

I’ve tried multiple methods in getting a gravitational lense that distorts the skybox, but none of them give a good enough result.
Ideally I’d like to get something similar to this:

Is it even possible?

I would render the original scene and then add this distortion over it with composite nodes. There is a distortion node in development, but it can be done another way. Use the renderd sequence as texture place between it a plane with bulge (or just a deformed or squashed sphere) with fully transparent material and IOR > 1.

The gravitational lens gives similar results as when light is passing through medium with different density, but doesn’ work on this principle, I guess.