Here in Canada all restaurants ,shops etc. accept American, but they all set the rate they want to charge. After all the recognized currency is the J not the US$ . They are charging you for the privilege of using US and therefore can charge you anything they want. You don't have to accept it. You can always use Jamaician money.