Cash is the only unrestricted currency in Germany. Law demands that they have to accept it.
"Auf Euro lautende Banknoten sind das einzige unbeschränkte gesetzliche Zahlungsmittel."
Online shops allow you to pay cash through payment on delivery (Nachnahme).
And Nachname is not offered by every shop, probably not even the majority. If it's offered the usually for a steep surcharge. And while we are at it: Try paying your car tax in cash to the government and you will find it to be absolutely impossible.