What's the best way to implement a system to allow the end-user to download and buy documents?
There's a module in progress that provides that for Drupal Commerce, here:
http://drupal.org/sandbox/recrit/1118266

You could use it as a starting point, or just for inspiration.