@momoa80 i agree with @ThePeachPit if you ask for the receipt and he has got you the other gift, he may act shifty so as to not give the surprise away, or may just offer to do it for you meaning, you still dont get the answer you want.
Id just be mega casual about it, say you were doing laundry, came across the receipt and had a look in case it was something important. Saw what was on it but didnt wanna mention it before xmas as to not spoil the surprise. Gauge his reaction as your doing this, then say something like, i really love the necklace set , but i swear the receipt had earrings on them too! was that an extra gift for someone we know? Id love to see them if there from the same place!
Just play it cool, smile, dont ask him in an accusing way, if hes guilty hell be defensive straight away, act like your not really bothered, just intrigued to see what they are like in comparison to your set....
He can then either agree...saying its for someone you both know..if thats the case you can then say which friend? how come we've kept it back? shall we give it to them tomorrow..ect... as yes that could be a cover up, but from his reaction youll see if its the truth or not...
If he says its for you..great! no issue! just say something like really sorry for spoiling the surprise, only checked in case it was important!
if he says actually there for another women...you take that set and lob it at him along with anything else nearby....
no, honestly im really sorry if that is the case but im sure theres an innocent explanation to it all...