Как реализовать 3D Secure (подтвержденный Visa/MasterCard SecureCode) для собственного мобильного приложения (например, IOS)
Этот вопрос специфичен для мобильных приложений Native (например, приложений IOS, Android, WP, которые фактически не используют браузер для доступа к веб-сайту).
У нас есть существующий сайт электронной коммерции, который оплачивает большинство основных кредитных карт, а также выполняет аутентификацию плательщика с помощью 3DSecure (реализована как проверена Visa и MasterCard SecureCode). Это помогает свести на нет мошенничество и уменьшить обвинения.
Существующая реализация такова, что во время этапа проверки и оплаты она включает перенаправление клиента от вашего веб-сайта на веб-сайт эмитента банка/карты, где клиент может ввести свой ранее настроенный пароль, чтобы подтвердить, что они действительно являются держатель карты. Затем веб-сайт перенаправит клиента на ваш сайт с информацией, необходимой для завершения транзакции. (Существует немного больше, но это основная предпосылка этого).
Итак, мы работаем над тем, чтобы создать собственное приложение для IOS (изначально), которое не просто просмотр пользователями с Safari на веб-сайте, а реализация ObjectiveC, которая дает богатый опыт, богатый и задача сфокусирована на пользовательском интерфейсе и удобна для пользователя.
То, что мы не можем сделать, это открыть 'n окно браузера из собственного приложения, чтобы пользователь перенаправлялся где-то, для аутентификации, а затем перенаправлялся обратно. Причины этого:
- Это собственное приложение, а не веб-сайт, поэтому нет нигде (URL) для перенаправления обратно.
- Пользовательский опыт - это ужасное переключение с чистого пользовательского интерфейса на причудливую и по-разному стилизованную веб-форму на другом веб-сайте, а затем обратно.
Кто-нибудь должен был попробовать и реализовать 3D Secure (VbV/SecureCode) с помощью собственного приложения (WP/IOS/Andriod)? Это можно сделать? Вы использовали другой подход?
Спасибо за чтение!
Ответы
Ответ 1
Даже в родном приложении вы должны использовать встроенный компонент WebView для открытия URL-адреса банковского сервера ACS, позволить пользователю вводить пароль или другой код там, проверять его банком и возвращать результаты для вашего приложения для дальнейшей пересылки на обработку вашей карты апи.
Как и для Android, вы можете посмотреть, как это делается в моем классе-помощнике - https://github.com/LivotovLabs/3DSView (после создания нескольких приложений с поддержкой 3D Secure я решил создать микрокомпонент для такой задачи)
Надеюсь, что это поможет
Ответ 2
Мы приняли раннее решение с нашим приобретателем (Global Payments aka HSBC) не внедрять 3DS в родные приложения (или даже мобильный сайт в конце) из-за ужасного пользовательского опыта. У нас не было проблем с платежами или с пользователями. Вы должны поговорить с вашим покупателем об этом, а также в своем платежном шлюзе - на мой взгляд, вы должны отключить 3DS для мобильных родных/веб-сайтов, пока это не будет доказано. В противном случае клиенты не будут выполнять транзакции.
Тем не менее, такие компании, как Mopowered, утверждают, что решили это с лучшими реализациями. Я еще не видел их.
Ответ 3
Вы можете решить проблему перенаправления 3d-безопасности, используя пользовательские схемы url. Как вы сказали, это не очень хороший пользовательский интерфейс, но мы решили это в нашем проекте ios.
Ответ 4
Как отмечали другие, опыт покупателей во время собственной проверки подлинности будет слишком низким, чтобы рассмотреть возможность внедрения.
Однако с помощью внедрения 3D Secure 2.0 поставщики 3D Secure смогут предлагать собственные SDK, чтобы разрешить аутентификацию с меньшим коэффициентом отказа.