You can almost always also pay with card, but it's often only Girocard, not Visa or Mastercard. The fees of Girocards/Giropay are much lower, because it's run by the banks themselves, i.e. the companies most likely already have accounts at those banks, so they can subsidise the transaction fees with the banking fees the companies already have to pay anyway. Larger stores often accept credit cards, however.