Как реализовать 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, чтобы разрешить аутентификацию с меньшим коэффициентом отказа.