Оплачиваем покупку через СБП без мобильных приложений / Хабр
Предыстория
Понадобилось мне как-то оплатить один товар в интернет магазине. Среди способов оплаты были Webmoney, qiwi wallet, СБП, а также ворох каких-то малопонятных мне криптовалют. Оплату банковской картой по каким-то причинам продавец не предлагал.
Недолго думая я выбрал СБП, ожидая, что оплата будет в итоге по реквизитам карты, либо через какую-то интеграцию с online банком. Однако вопреки моим ожиданиям была сгенерирована страничка с QR кодом и предложением сфотографировать его телефоном из банковского приложения.
Телефоны у меня хоть и с камерой, но исключительно на j2me, и с банковскими приложениями не совместимы, что поначалу поставило меня в тупик.
Закинув картинку с QR кодом на первый попавшийся сайт, распознающий QR, я получил строку-URL, содержащую по всей видимости данные по транзакции. Пример валидного URL (с вымышленными данными) приведен ниже:
https://qr.nspk.ru/FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF?type=00&bank=000000000000&sum=0&cur=RUB&crc=0000
По переходу по ссылке, открывалась та же страница на nspk.
ru. Круг замкнулся 🙁
По-началу это заставило меня вернуться обратно к Qiwi и WM опциям.
Попытка оплатить через Qiwi wallet дала ошибку неясного характера. Быстрый поиск указал на то, что вероятной причиной может быть отсутствие повышенного статуса qiwi кошелька при оплате заграничному продавцу. Повышать статус кошелька я не планировал, поэтому вариант оплаты через Qiwi отпал.
Что ж, есть webmoney, к которому у меня было 2 старых кошелька. По крайней мере одним из них я успешно пользовался несколько лет назад. Однако на оба WMID мне было сказано, что их нет. Странно, ну не беда, их не жалко, создадим новый.
Но не тут-то было — при создании меня внезапно попросили сделать фото (selfie), да и вообще сказали, что самое правильное фото нужно делать из мобильного приложения, без возможности выбора.
картинка взята с https://www.reddit.com/r/mildlyinfuriating/comments/vwukwd/webmoney_asks_for_your_selfie_to_register/
Ну-ну, на selfie я был явно не согласен, а на мобильное приложение тем более.
Вариант с криптовалютами я отложил на последок, если все остальное не сработает. И вернулся к СБП.
СБП через ВТБ-online
Поисковые системы выдавали в основном бесполезную информацию: многочисленные статьи рассказывали, как хорош СБП, как он позволит фотографировать QR на кассе или сайте и моментально оплачивать в мобильном приложении. Всякие там интеграционные API для продавца и т.п. и т.д.
При этом совершенно непонятно, что делать покупателю за компьютером или ноутбуком, имеющему только доступ в online-банк, и почему в таком сценарии не обойтись без камеры.
Одна из найденных мною статей упоминала, что в ВТБ-online появилась опция оплаты по QR при доступе туда через web-браузер мобильного устройства. Звучало многообещающе, однако в статье утверждалось, что картинку опять же нужно будет получить с камеры, а вот выбор готовой картинки с файловой системы прикрутят когда-нибудь потом 🙁
Зайдя в online-банк ВТБ с desktop браузера я ожидаемо не обнаружил опции оплаты QR.
К счастью убедить online-банк в том, что клиентское устройство мобильное, оказалось тривиально: не нужно было подделывать заголовки HTTP-запросов, а достаточно уменьшить размер окна.
После чего менюшки приобрели «мобильный» вид, а в списке платежей появилась QR опция. Она же виднелась в правом верхнем углу окна.
Отмечу что размер окна аналогичным образом влияет на сбер онлайн, с той разницей, что QR опции там я не нашел. Видимо у Сбер она только в мобильном приложении.
Далее выбираем QR опцию в ВТБ онлайн и получаем серый квадрат, с крутилкой, отображающей, по-видимому, процесс получения картинки с камеры.
Которой у меня нет.
Т.о. образом задача свелась в тому, как подсунуть веб-браузеру картину вместо камеры.
Камера из картинки
Полагаю, что эмуляцию камеры можно сделать средствами веб-браузера, и вроде бы для google chrome есть расширения, либо специальные опции командной строки.
Но я решил, что быстрее и проще эмулировать камеру на уровне ОС — наверняка ведь должен быть такой софт.
Первое, что мне попалось — это v4l2loopback модуль для Linux kernel, поэтому далее речь пойдет о нем.
Не буду давать конкретных инструкций по сборке модулей, т.к. они специфичны для каждого дистрибутива Linux.
В Gentoo это package «media-video/v4l2loopback», который требует опции CONFIG_VIDEO_DEV в конфиге ядра. В моем случае после включения
«Device Drivers | Multimedia support | Cameras/video grabbers support» через menuconfig
добавились следующие опции в конфиге ядра:
CONFIG_I2C_MUX
CONFIG_MEDIA_SUPPORT
СONFIG_MEDIA_CAMERA_SUPPORT
CONFIG_VIDEO_DEV
CONFIG_VIDEO_V4L2
CONFIG_MEDIA_SUBDRV_AUTOSELECT
После сборки и установки модуля подгружаем его (параметры взяты отсюда https://www.linuxfordevices.com/tutorials/linux/fake-webcam-streams):
modprobe v4l2loopback card_label="emul_cam" exclusive_caps=1
При подгрузке модуля появляется новое устройство /dev/video0
В моей конфигурации веб-браузер работал в LXC-контейнере.
Поэтому нужно было убедиться в том, что есть разрешения на работу с /dev/video0 из контейнера, проверить наличие соответствующих файлов устройств в контейнере и права (unix rights) на них.
Далее для работы с эмулятором камеры использовался ffmpeg, при этом следует убедится, что ffmpeg собран c поддержкой v4l.
Сохраняем картинку с QR кодом из веб-браузера на файловую систему (qr_code.png в примере ниже).
Запускаем ffmpeg для формирования видеопотока из картинки и записи его в dummy камеру:
ffmpeg -loop 1 -i qr_code.png -vcodec rawvideo -pix_fmt yuv420p -threads 0 -vf scale=320:320 -f v4l2 /dev/video0
Проверяем работу через ffplay или через ffmpeg, если он собран без ffplay:
ffplay -i /dev/video0 ffmpeg -i /dev/video0 -f opengl "emul_cam"
Должно появится окно с QR:
Проверка камеры в веб-браузере
Теперь проводим тест веб-браузера Firefoх на одном из заведомо рабочих тестовых сайтов для web-камер:
https://www.onlinemictest.
com/webcam-test/
https://webcamtests.com/
Если веб-браузер видит камеру, то запросит разрешение на ее использование:
Результат будет следующий:
Камера и ВТБ-online
Теперь делаем тоже самое с QR опцией в ВТБ-online.
По моему опыту страничка не сразу обнаруживает камеру, требуется reload.
Также сам процесс «съемки» не мгновенный — иногда требуется несколько секунд.
После чего появляются данные платежа и выбор счета.
Ура, товар оплачен!
P.S. уже при написании этой статьи обнаружил другую статью с подробностями поддержки QR в ВТБ online, где подтверждается, что поддержку desktop версии отложили ради скорости разработки.
Надеюсь, что когда поддержка появится, будет предусмотрен штатный способ подгрузить картинку из файла, либо URL-строки.
Правила для родителей
ПРАВИЛА ДЛЯ НАШИХ РОДИТЕЛЕЙ
Уважаемые родители!
В нашем детском саду мы заботимся о Ваших детях, их безопасности и развитии.
Поэтому просим и Вас соблюдать некоторые правила, которые помогут сделать посещение детского сада всегда приятным событием для Вашего ребенка.
ОБЩИЕ РЕКОМЕНДАЦИИ
*** Не забывайте, что в дошкольном учреждении существует
Об оплате читайте тут
*** В нашем дошкольном учреждении принято вежливо обращаться друг с другом, поэтому к педагогам группы независимо от их возраста необходимо обращаться на Вы, по имени и отчеству, и учить этому своих детей.
Их «тети» в нашем детском саду не работают!
*** Прием детей осуществляется с 7.30 до 8.
45 ежедневно, кроме выходных и праздничных дней.
Своевременный приход в детский сад – необходимое условие правильной организации воспитательно-образовательного процесса.
*** Если Вы привели ребенка после начала какого – либо режимного момента или занятия, пожалуйста, разденьте его и подождите вместе с ним в раздевалке до ближайшего перерыва.
*** Утром родители обязаны передать ребенка лично воспитателю, а вечером обязательно подойти к воспитателю и сказать, что Вы забираете ребенка из детского сада.
*** О необходимости привести или забрать ребенка в неурочное время, просим предупреждать воспитателя заранее. Если Вашего ребенка забирают из детского сада родственники или знакомые, то необходимо написать заявление и подписать его у заведующей.
*** О невозможности прихода ребенка в детский сад по болезни или другой уважительной причине просим сообщать воспитателю до 9 часов утра по контактному телефону, а в случае прихода в детский сад после болезни или отпуска – 
*** Ребенок, не посещающий детский сад более 3-х дней, должен иметь справку от врача.
Родители, помните! Вы обязаны привести здорового ребенка!
Недолеченный ребенок не только заболеет сам, но и заразит здоровых детей!
И, если «сопельки» и кашель Вас, как маму, не пугают, то у другой мамы может быть свое, отличное от Вашего, мнение.
*** Перед тем, как вести ребенка в детский сад, проверьте, правильно ли он одет, соответствует ли его костюм времени года и температуре воздуха. В правильно подобранной одежде ребенок свободно двигается, меньше утомляется. Проследите, чтобы одежда ребенка не была слишком велика и вместе с тем не сковывала движений ребенка. Особое внимание обратите на обувь. Она должна быть легкой, теплой и точно соответствовать размеру ноги. Проверьте застежки и шнурки.
Они должны быть такими, чтобы ребенок мог самостоятельно ими пользоваться. В групповом помещении не допускается ношение обуви без задников (шлепанцы).
Уважаемые родители! Тапочки оставьте для дома. Дети, конечно, чувствуют себя здесь в домашней обстановке, но обувь пусть будет «не тапочки».
Требования к внешнему виду детей
- Опрятный вид, застегнутая на все пуговицы одежда и обувь;
- Умытое лицо;
-
Чистые нос, руки, подстриженные ногти;
- Подстриженные и тщательно расчесанные волосы; у девочек прическа закрепляется резинками, бантами и т.п.
- Чистое нижнее белье;
-
Наличие достаточного количества носовых платков. Носовой платок необходим ребенку как в помещении, так и на прогулке.
Сделайте на одежде удобные карманы для его хранения.
Для создания комфортных условий пребывания ребенка в детском саду необходимо:
- В шкафу должны быть маечки, трусики, запасные колготки, носочки, сменный комплект одежды, если произойдет «авария» за приемом пищи. Дети… – народ самостоятельный. Обязательно проверяйте опрятность вещей, не забывайте забирать в стирку пижаму и спортивную форму, ну, а про ежедневную смену одежды мы даже не упоминаем. Одежда для пребывания в группе. Не допускается ношение одной и той же пары джинсов, брюк как на прогулке, так и в помещениях детского сада.
- Два пакета для хранения чистого и использованного белья.
- Расческа (независимо от длины волос).
- Спортивная форма и обувь на резиновой подошве для занятий физической культурой.
-
Белье, одежда и прочие вещи могут быть промаркированы.

- В дошкольное учреждение СТРОГО ЗАПРЕЩЕНО приносить острые, колющие, режущие предметы (ножницы, ножи, спицы, булавки, гвозди, проволоку, зеркальце, стеклянные флаконы, пузырьки, металлические игрушки, шпаги, сабли, зажигалки и т.д.).
Наличие таких предметов опасно не только для Вашего ребенка, но и для других детей, посещающих группу. Поэтому обязательно проверьте карманы Вашего ребенка перед уходом его в детский сад.
Настоятельно не рекомендуем надевать ребенку золотые и серебряные украшения.
Также просим не давать ребенку жевательную резинку, конфеты, печенье и любые продукты питания, витамины, таблетки и другие лекарства, косметику и компьютерные игры и любую ценную игрушку, которую Вам жалко.
Если Вы считаете необходимым давать ребенку с собой какие–то лакомства, то, пожалуйста, ограничьтесь несколькими карамельками в фантиках и предупредите об этом воспитателя.
- В группе детям не разрешается бить и обижать друг друга; брать без разрешения вещи со стола воспитателя, даже свои, брать без разрешения личные вещи, в том числе и принесенные из дома игрушки других детей; портить и ломать результаты труда других детей. Детям не разрешается «давать сдачи», так же, как и нападать друг на друга. Это требование продиктовано соображениями безопасности ребенка.
- Не забывайте обращать внимание на рукотворный труд ребенка (рисунки, поделки), хвалить ребенка.
Посещение занятий родители могут осуществить в любое время, поставив в известность воспитателя, его проводящего, за день. Сменную обувь одевать не обязательно, но про бахилы помните!
На родительских собраниях обсуждаются общие вопросы не потому, что нечего сказать о каждом, а только из-за этических соображений.
-
Спорные и конфликтные ситуации нужно разрешать в отсутствие детей.
Если Вы не смогли решить какой-либо вопрос с педагогом группы, обратитесь к заведующей.
В присутствии ребенка не следует обсуждать педагогов дошкольного учреждения с родственниками или знакомыми.
Уважаемые родители!
Администрация несет за жизнь ребенка ответственность с 7.30 до 17.30 часов, а после…
Если Вы пришли в 17.20, и Вам хочется погулять и пообщаться с воспитателем, этак до 18.00, постарайтесь свои желания сдерживать, так как у воспитателей рабочий день до 17.30.
ПОМНИТЕ: как только Вы пришли за ребенком, воспитатель снимает с себя ответственность за него!
750+ Оплата Картинки | Скачать бесплатные картинки на Unsplash
750+ Платные картинки | Download Free Images on Unsplash- A framed photoPhotos 846
- A stack of photosCollections 4k
- A group of peopleUsers 25
person
electronic
business
mobile phone
technology
retail
customer
оплата
компьютер
оплатаклиентрука
транзакцияонлайнФон сайта
Money images & pictureshandsusd
Google images & photospaygpay
commercetrade
visalattesquare terminal
cafecoffee shopsmall business
workbusinessHd computer wallpapers
credit cardnederlandamsterdam
Hd black wallpapersHd grey wallpapersmat
shoppingposregister
–––– – ––– –––– – –––– ––––– –– – –– –––– – – –– ––– –– –––– – –.
продажафинансовый перевод
qr codemobile paymentonline payment
wristwatchbuyingbuy
balanceprintoutcash
fintechghentbelgium
crumpledbilldollar
technologyelectronicconsumerism
cashierprofessional servicesales experience
contactless paymentclose-upyoung adult
Related collections
Payment tabs
35 photos · Curated by Vicky McMurrayоплата
10 фото · Куратор Minna QMoney, payment
10 photos · Curated by Lisa Shankarpayingcustomerhand
qr codemobile paymentonline payment
fintechghentbelgium
visalattesquare terminal
workbusinessHd computer wallpapers
credit cardnederlandamsterdam
contactless paymentclose-upyoung adult
salefinancialtransfer
Деньги изображения и картинкирукиusd
наручные часыпокупкакупить
балансраспечататьналичные
мятая купюрадоллар
кассирпрофессиональные услугиопыт продаж
покупкапосрегистрация
–––– –––– –––– – –––– –––– –– – –– –––– – – –– –– – –– –––– – –.
TransactionOnlineWebsite фоны
Google Images & Photospaygpay
Shiphertrade
Cafecoffee Shopsmall Business
Связанные коллекции
Платежные вкладки
35 Фото0074 10 photos · Curated by Minna QMoney, payment
10 photos · Curated by Lisa Shankartechnologyelectronicconsumerism
Hd black wallpapersHd grey wallpapersmat
Unsplash logoUnsplash+
In collaboration with Getty Images
Unsplash+
Unlock
оплатапокупательрука
Towfiqu barbhuiya
продажафинансовый перевод
–––– –––– –––– – –––– – –––– –– – –– –––– – – –– ––– –– –––– – –.
rupixen.com
TransactionOnwebsite фоны
David Dvořčkek
QR Codemobile Paymentline платеж
Igal Ness
Money Imagde & Pictureshandsusd
Mika Baumeister
Google Ficture и Photoshandsusd
Mika Baumeister
Google Ficture и Photoshandsusd
Mika Baumeister
Google и Photoshandsusd
Mika Baumeister
.
Сделайте на одежде удобные карманы для его хранения.
Если Вы не смогли решить какой-либо вопрос с педагогом группы, обратитесь к заведующей.