Pull to refresh

Comments 22

Это актуально банкам, а бизнес просто редиректит на страницу банка для оплаты. И это дико странно просить пользователя ввести данные карты у себя. Это нужно брать на себя ненужную ответственность.

Ну вообще на многих популярных веб-сервисах ввод данных карты идёт прямо на странице сайта. К примеру гитхаб. Вообще BinKing для тех, кто уже принимает платежи прямо у себя на странице. То есть я не говорю, что принимать надо именно у себя, но если принимаете у себя, то BinKing поможет улучшить форму.

Гитхаб и им подобные монстры могут это делать. Им пользователи доверяют. И есть причина - эквайрить пользователей разных стран через разные банки. Бывает даже в ресторанах терминалы разных банков. А у нас единая комиссия на интернет-эквайринг. Интересно что таи за мутки у ресторанов, что разные терминалы. Может тупо уход от налогов.

Если приносят два счёта и два разных терминала, то вероятнее всего здесь два юр лица — ООО с лицензией на алкоголь и какой-нибудь ИП на упрощёнке для всего остального. Да, это схема оптимизации налогов.


Или ресторан имеет эквайринг с разными банками для отказоустойчивости. Если один банк упал и не принимает платежи через свой терминал, то второй банк позволит не останавливать обслуживание.

Ну вообще на многих популярных веб-сервисах ввод данных карты идёт прямо на странице сайта.

Это не значит, что так должно быть, и что это лучшая практика.
Возвращаясь к заголовку — королевская форма для приёма банковских карт та, которая не требует ввода карты. Да, я лучше буду доверять большим мастодонтам банковские данные, чем каждому третьему сайту обещающему не хранить данные карты (что, емнип, незаконно, лень искать, первый попавшийся результат тут же, на qna: https://qna.habr.com/q/76658), но сохраняющему у себя не только номер в открытом виде, но и CVV.
Нет, это определённо, не королевская форма.

Эта статья будет полезна и мастодонтам. Не обязательно же, что такую форму будут делать именно на обычном сайте. Вполне возможно, что этим воспользуются платёжные агрегаторы или банки.

Я бы даже сказал больше, ввод платежных данных на стороне мерчанта - это обязанность прохождения сертификации на соответствие pci dss. Поэтому да, для обычного небольшого магазина решение явно излишнее.

Статья реклама платного сервиса, согласен.
Но тем не менее, мы для использования платежных систем типа Stripe создаем такую форму у себя на сайте. Данные по API передаются в Stripe, мы храним у себя только Customer ID и Customer Card ID, они имеют вид типа cus_1q2w3e4r5t6y7u8i9o. Как для разовых платежей, так и для подписок.
Никаких других данных у себя хранить не нужно, никакой ответственности.

Так что подобные формы у себя на сайте актуальны и для мелких сайтов. Пользователи используют, но это США, не бСССР.

P.S. К автору не имею никакого отношения.
в приложение Сбера бы нормальное окно для ввода номера карты/телефона. А то пишешь 1 цифру, виртиуальная клавиатура исчезает и всплывает снова, но чуть ниже. Естественно, это приводит к тому, что с первого раза правильный номер вписать невозможно. Я на аавтомате набираю номер, а после первой цифры клавиатура расстворяется, а под ней список контактов… стыдно
В некоторых терминалах перед вводом PIN- кодов вообще цифры перемешиваются и стоят не на своих местах.
еще можно сказать: «проблема юзера»))

На нескольких моделях телефонов так же

Ну, я не хотел вас подколоть. И перед тем, как написать комментарий, проверил у себя. У меня норм. Мейзу 15, Андроид 7.1.1

так и я без какой-то злобы))

Не статья, а реклама.


Эта форма отсылает все данные в какой-то левый никому не известный сервис binking (само название которого напоминает логин с хакерского форума), где с ними неизвестно что произойдет. Подумайте сами, нормально ли отсылать все данные карт пользователей на какой-то анонимный российский сайт?

Отсылаются только первые 6 цифр номера карты. Есть возможность купить архив с базой данных и всеми логотипами и вообще не отсылать никакие данные. А статью эту и писал, чтобы сервис стал потихоньку известным.

Основная проблема. Это сертификация. Если хочешь не редиректить, а вводить у себя то это от 500 000₽.

Кто готов столько заплатить те без проблем сами сделают. И еще крупные компании, большие деньги. Зачем им рисковать и брать чужую библиотеку. Здесь нужна максимальная безопасность.

Так можно архив с базой купить, и не использовать апи.

В общем, я понимаю, что Вы хотите упростить текущие проблемы с парсингом номеров и вынести их в отдельный сервис, но, к сожалению, данные карт — это, пожалуй, последнее что хочется отправлять на внешний сервис, даже если сейчас он вызывает доверие. Любой дополнительный встраиваемый скрипт, npm пакет или АПИ куда мы отправляем номера карт в открытом виде — это потенциальная брешь на будущее, ни один нормальный отдел безопасности этого не разрешит.
Моё мнение — если хотите идти в этом направлении — лучше всего делать это исключительно на стороне клиента, с минимумом кода (опен сорс, конечно же) который взаимодействует непосредственно с данными карты. Продать это будет крайне сложно, но как портфолио сойдёт. Скорее даже как ответ на SO к похожим вопросам, там часто бывает "я посмотрел на вопрос, и решил написать свою библиотеку для его решения". А так — удачи Вам, конечно, но на многое я бы не рассчитывал.

Спасибо за комментарий. Можно купить архив с базой данных банков и файлами логотипов, и не использовать мой код, тогда точно никакой угрозы безопасности не будет.
Вы проверяли как работают системы автозаполнения паролей, типа Bitwarden, 1Password?
Последнее время все чаще встречаю формы, где автоматически только CVV код заполняется…
Мне как пользователю удобнее платить через ApplePay или Google Pay, чем вводить данные карты.
1Password работает исправно, заполняет все поля карты.
Sign up to leave a comment.

Articles