I never tried this but I just had an Idea. When you rent a car, equipment, or make reservations they take the customers credit card numbers as security. I know a merchant can also "precharge" something. That's where it is verified if the customer has the available credit on the card and will reduce their spending limit to that amount. Kinda like the card company holding the money.

Before the job starts get a credit card # otherwise payment is due beforehand. If the customer does not have the available credit or cash then you know right away.

The downsides are credit card service cost the merchant a percentage and monthly fees. That's why I don't take them. The card company can also charge back the merchant in a dispute.

Just a thought
Tom