The systems of many stores now give you the "LAST" recent lowest price of an item.

In your situation: Well, how would you prove what you paid for it? Honesty would have been nice, "I think I only paid $4.69, not $7.99"....they'd have looked at their system and said "We think you paid $7.99, so....".

If that is what happened, you are in the clear - not your fault. You likely had to sign your name on a slip of paper...just don't get cocky and go buy 10 more and return 10 more...