У нас в крупных супермаркетах просто решили эту проблему: на кассе оплачивается только бон-чек. Потом курильщик отходит от кассы и сканирует этот бон в огроменном наглухо бронированном автомате-боксе, который "выплевывает" оплаченную пачку или блок в поддон. И адью! Все очень довольны. Сигарет никто не видит, времени на кассе никто не тратит, никакой рекламы и пр. Плюс безопасность от грабителей (на эту металлическую бандуру можно кидаться хоть всем телом: на ней нет ни одного отверстия)