They could do like gas stations and charge a hold just whenever you enter the store then finalize the transaction whenever you leave. That'd solve the problem and if it was going to fail you'd just never be able to enter the store and you'd just see a warning message about your CC not being valid.