I assumed you would combine your secret hash with the entrant's transaction ID as well to determine the winner -- what else would you do?
That's not what you said.
You said, "It's better to just take a random number if you want a random number."
Without specifying where you would get that random number, you implied that the OP should just use a RNG such as openssl RAND_SSLeay(void);
If you had meant that the OP should use a hash of a combination of transactionID and a secret, and that the hash of the secret should be released prior to the beginning of the game, you'd have avoided a lot of confusion and people correcting you by just saying so in the first place.