The 'pre-authorisation charge' is designed to ensure motorists have enough cash to cover the amount of fuel they put in their cars.
One Asda customer told national media the £99 fee was taken from her bank balance and not returned for two days.
It is understood Asda has introduced the charge at three of its stores.
Tesco, Sainsbury's and Morrisons have not yet implemented the fee but are reportedly 'reviewing the situation' and plan to introduce it in the near future.
A spokesman at Mastercard said: "Last year a change in industry rules meant that petrol stations with automated fuel pumps were required to pre-authorise a value equivalent to a full tank of fuel so that customers didn't fill up with more fuel than they could afford. This is designed to protect them and the petrol station.
"If customers don't have the required funds in their bank account, a further step is available to petrol stations which allows them to check what available funds a customer has, enabling a lower value of fuel to be dispensed. While some customers may see a request for a higher amount than the fuel they bought - perhaps on their mobile banking app - these funds are not taken from their account. Only the value of the petrol dispensed is withdrawn."
A Visa spokesman said: "Visa has been working closely with card issuing banks to ensure that consumers do not experience delays in the adjustment of the initially-held amount. However, if consumers notice that initial amounts held against their accounts are not adjusted immediately, they should raise this with their card issuing bank in the first instance."