Well, this was not the case just this week in Hua Hin. The place that I use previously did not require a credit card, just pay when you arrive.I've always used Booking.com. Although you post your credit card details, nothing is taken until you show up. In every case, I've opted to pay cash when checking in. Never a problem.
This last booking did not charge until 3 days before arrival although they wanted details when booking. When I questioned them their excuse is that they were getting too many no-shows, so now if you do not cancel before 3 days the charge is made.
(The same thing occurred a couple of weeks ago in Pattaya.)
I had tried previously to book direct via email, which was never answered. When checking out this time I told them I would not be back if that is the way they are going to operate. "Oh, you can call and book over the phone".