Well isn't that why both parties to a transaction can trust it...because it is completely transparent.
How will u hide the product content before the payment is made?
The only way I can think of is to pre-generate encrypted codes for all bidders (active NXT accts?) and implement a first N to redeem them logic.
Maybe there could be a registration step so that an interested bidder requests that an encrypted code is generated to the blockchain. So without needing to bruteforce, all the bidders will know that their encrypted code is there. Some crypto magic to allow each bidder to verify that is indeed the right code, maybe using referenced transactions.
Not sure, but it seems somewhat possible...
James