I agree with colorcrazie on this, there are a LOT of scammers who know they will never see you again.
What that shop did to the OP makes me crazy. I would have gone outside and looked for a policeman. And then I would have gone to Carnival and told them what happened (if it is in the port area those shops are only there because the cruise lines subsidized the pier).
And finally I would dispute the entire amount with the credit card company - I would just say I asked for a full refund and was denied. That is why you have credit cards.
By the way - there are plenty of tricks that can be done with cash as well. Here is one -
Say you purchase something for $99 and you hand the vendor a handful of five $20 bills - the vendor is up high so you can't see his desk. He takes the money and puts it down out of your sight and suddenly he says "You owe me another $20," and he holds up four $20 bills.
Most people would just say "Oh, sorry." and hand him another $20. I guarantee you this happens much more often than you think.