I think purchasing private keys is an unlikely transaction because it would be impossible for the purchaser to know how many copies of the keys existed before the transaction occurred. It could theoretically happen.
You could buy an obligation of him to transfer you the bitcoin on request, like other regular contracts. Kind of like a swap agreement. Of course, some level of trust is required.