Because there are so many tiny blood vessels around the eye, it is possible to get a real shiner with virtually no impact - certainly the result is not in proportion to the cause.
You may simply have knocked yourself in your sleep, or a vessel may have burst for no known reason.
However caused, the blood is simply re-abosrbed into your system over a few days. best to use some concealer in the mean time, and get used to the pitying looks you get when you try and tell people the truth.
I got a seriously massive black eye a few years ago after walking into a door. I finally got sick of the disbelieving looks I got when I told the truth about how I got my black eye, so I started saying I got it in a fight at closing time. I don;t drink alcohol, and I don't go to pubs, but that explanation seemed more acceptable!