Sellers should have been insisting on collection codes for collected items paid through checkout for almost a year now.
Make it clear in your listing that the item won't be released without the code.
Ebay now make it very clear to buyers that they need it to collect something, when they checkout, as well as emailing it, they have no excuse to say they didn't know or don't have it.
Courier collection removes the buyer from the money back guarantee.