I believe you have to charge everything to your room, no cash/cards can be used on the ship
Yes, almost everything purchased on the ship (and on Castaway Cay) is charged to the room. The only possible exception is the gift shops onboard, which may accept Disney gift cards (but may not if their machines are not working). Also, cruises booked onboard can be charged to your credit card on file.