...Or, even simpler, just use the auto-return redirect. But don't set it within your web page's PayPal code; just set it directly within your PayPal account so it's hidden.
In PayPal, go to Profile > My Selling Tools and look for "Website preferences." Here you'll switch Auto Return on and add a return address. This address should be the download page of your website (which will be hidden from users of the website). When someone pays, they're redirected to this page so they can download the book.
This might work well enough for one single book; with multiple books you'd have to specify different return urls, and this method wouldn't work.
The downside? Unless things have changed lately, the return isn't always 100% guraranteed -- sometimes, instead of an auto-return, there's a PayPal thank you page that displays a button saying something like "return to customer's website" which customers don't always click. Also, once the customer has the return page url, he can post it to all and sundry. Return urls don't allow unique codes via the GET method, so you can't really do much with it.
Still, even though IPN is a better method, even the simple auto-return method is better than what you're suggesting in your initial post. NEVER let people see the download links until after they've made payment!