Why not? I regularly buy products and services online with crypto and it works quite well, usually a better experience than with a credit card.
There are plenty of chains that can confirm transactions in a couple seconds, and if you're concerned with volatility, just use USDC/USDT. There are crypto payment processors that handle all of this and allow payment across a range of chains and handle the volatility so that the merchant doesn't need to worry about anything crypto and just receives fiat.