Just refund the money and don't sell him a book! Eat the $20, and don't do business with him anymore.
You are going to have to eat the $20 either way ( he either files a claim through paypal- or you send him a new copy). So let him have his money back, but don't send another book!
My opinion
Jw
It's not worth trying to infer the customer's motivations at this price level.
Your solution has Jay out the cost of a book plus shipping. He turns an unhappy customer into a former customer. Plus he loses forever the profit on the book sale.
If he sends out another book, he prob makes a little or breaks even on the sale (assuming the cost of the second book eats up the profits realized from the first book). But he turns an unhappy customer into a happy customer.
The most beneficial solution for everyone is to just send the new book.