I am sure it will not make you feel any better and I agree that it should be optional. I am fairly certain that a third party does not have your credit card information, Just your ship information. It would certainly be safer to use a Medallion than your CC for purchases. (Due to the fact that the on shore merchant will not know your CC number.
This is why I use Apple Pay at home whenever possible, so the merchant does not have my CC information.
But I do not see any reason that your CC information needs to be inputted a second time on the AP as your Credit Card is already in Princess’s system for your account.