Dont try and buy Pesos in europe . No one gives you a good rate . The GBP rate is 45/46 at the moment when you pay by credit card.
Brbg Dollars or Euros as GBP can be difficult to exchnage in Bs As.
Not sure what the situation is at the crusie terminal .