If you've had the same customers for years, they may not think it bothers you. This may be solved as simply as asking them how they plan to pay when they call you. Easily brought up by "hi Jon! Glad you called, I'll have your boat ready on X date. By the way, I've been considering adding the option to pay by card next season, but it will cost a little extra to do that. Would you rather pay in cash or with a check when you arrive, or pay a little more for the convenience of a card? I'm trying to find the best way I can keep my services as convenient and inexpensive as possible!"
Be honest with them when they ask why, it's ok to tell them that you need to collect payment upon delivery in order to keep your bills paid.