Another option would be to buy some Funship Dollars to have applied as onboard credit for them and then have them put their own credit cards on their accounts for any additional charges.
If one person didn't spend all their credit, you could ask guest services to transfer the remaining to one of the other accounts. Or if there's an overall credit left, they will issue a check refund the last night.
Here's the link to order -
Fun Ship Dollars
Or call - 1-800-906-7603
Past Cruises -
Carnival - 20 cruises, 106 days (Platinum)
Royal Caribbean - 2 cruises, 10 days (Gold)
Norwegian - 2 cruises, 10 days (Bronze)
Disney - 2 cruises, 8 days (Silver)