We had a massive, life-changing falling out over a decade ago when I was buying laptops as an 18th birthday surprise for our student twins. He TOLD them. Worse, he then came to me and said he thought they should know in advance as it would ease the stress of them sharing the single home computer in the meantime. I said no, it was to be a surprise. He didn't confess but hurried off the enjoin them to silence, so then I had three people keeping a bad secret from me.
Inevitably, the day we went into town to buy them, the realisation broke that they had known all along. I felt such a fool. It wasn't the surprise being spoiled so much as the deception about having told them.
Instead of apologising for deceiving me, he told me I was ridiculous and petty, that surprise presents were childish and self-indulgent for the giver.
Well OK. I did not stop buying him presents. I stopped all the surprise element. I ask him what he wants for Christmas/birthday, give him a budget and tell him to order it himself. When it comes, he can do what he likes, have it then or later. I don't want to handle it. I won't wrap it or present it to him. He got what he wanted.
The stupid thing is that he actually loves surprises when they're for him. If he'd been honest in that first conversation and just said, "It's too late - I already told them!" instead of scuttling off to do a cover-up, he'd still be getting surprises. But since it was always really about my pleasure, according to him, I deny myself and do things the way he claimed to approve.
I wouldn't cancel his presents, OP, I'd just hand them over without a comment whenever they arrive, in the postal packaging. No fancy wrapping, nothing under the tree, no presentation.
See how he likes them apples.
Make sure he knows you want all the anticipation, secrets, surprise, pretty paper etc etc and expect mysterious packages under the tree and all the fun of unwrapping. If he feels flat and left out, he'll make sure not to look next Christmas!
DH confessed to being the kid who sneakily looked on top of the wardrobe, even carefully unwrapping and secretly playing with his toys so they were basically secondhand by the time he officially got them. Obviously never grew up.