Alternatively, book through a TA. A real TA, not one of the online outfits.
The reason for the credit card requirement when it does occur is anti-fraud. When you pay through a TA, the TA handles payment administratively and there is no fraud risk to the carrier.
Calling in advance will not help you as nobody at a carrier can tell you what may trip some anti-fraud algorithm at a later date. There are other ways to circumvent this, but none as easy as the TA approach.
While some suggest that this might be a surprise, don't make it too much of a surprise. Unless you know that the friend has a valid ESTA, the last thing anyone wants is for a nice trip to be gummed up by something which one hopes is easy.