如何在本地移动应用程序(例如IOS)上实现3D Secure(Verified by Visa / MasterCard SecureCode)?

12
这个问题只针对于原生移动应用程序(例如,IOS、Android、WP应用程序并没有使用浏览器来访问网站)。
我们有一个现有的电子商务网站,接受大多数主要信用卡付款,并通过3DSecure计划执行付款人身份验证(实施为Verified by Visa和MasterCard SecureCode)。这有助于消除欺诈和减少退款。
现有的实现方式是,在结账和付款阶段,它会将客户重定向到银行/发卡方网站,客户可以在那里输入他们之前设置的密码来验证他们确实是持卡人。然后该网站将带着完成交易所需的信息将客户重定向回您的网站。(还有很多细节,但基本上就是这样)
因此,我们正在开发一个IOS的原生应用程序(最初),它不仅仅是用户通过Safari浏览网站,而是一个ObjectiveC实现,提供了丰富的任务焦点UI和易于操作的本地体验。
我们无法从原生应用程序中打开“n”个浏览器窗口,以便用户被重定向到其他地方进行身份验证,然后再次重定向回来。原因如下:
  • 这是一个原生应用程序,而不是一个网站,因此没有任何地方(URL)可以重定向回来。
  • 用户体验很糟糕,从干净的 UI 切换到另一个网站上的模糊和风格不同的 Web 表单,然后再切换回来。
有人试图使用本地应用程序(WP/IOS/Andriod)实现3D Secure(VbV / SecureCode)吗?它能做到吗?您采取了不同的方法吗?
感谢阅读!

我们还没有做过这个 - 所以这不是一个答案。我们目前在概念阶段探讨类似的问题,关于我们未来的应用程序在3D Secure方面可能的行为。我只是想知道您说的在本机应用程序内部没有重定向的地方。如果您在应用程序中使用自定义URL模式-那么您不能在设备上有一个要重定向到的地方吗? 或者这是银行网站可能无法实现的事情? - declanh
4个回答

11
即使在原生应用中,您也应该使用嵌入式WebView组件来打开银行ACS服务器网址,让用户在其中输入密码或其他代码,由银行进行验证,并将结果返回给您的应用程序以进一步转发到您的卡处理API。
至于Android,您可以查看我的辅助类https://github.com/LivotovLabs/3DSView如何完成此操作(在创建了几个支持3D Secure的应用程序后,我决定为这样的任务创建一个微型组件)。
希望这有所帮助。

还没有使用过这个,但计划在我们的项目中试一试。从初步的看法来看,效果不错。 - brindy
1
有没有适用于iOS的代码/库?我想在我的应用程序中集成3DS并添加付款卡。 - harshit2811
嗨,我尝试使用3DSView,但它似乎无法正常工作,实际上它会加载最终的postback URL(例如,如果是谷歌,则会加载谷歌页面)。有没有办法解决这个问题? - Bootstrapper
似乎在启动进程之前您没有设置回发URL。请在GitHub项目的问题页面上留下更多详细信息,以便我能够提供帮助。 - Dmitri Livotov
我已经设置了回发URL,尝试了一些调试,但出于某种原因,shouldOverrideUrlLoading()从未被调用。 - Bootstrapper
显示剩余2条评论

4
我们和我们的收购者(Global Payments,也称为汇丰银行)在早期决定中,不会在本地应用程序上(甚至最终不会在移动网站上)实施3DS,因为它带来了糟糕的用户体验。我们没有遇到过退单问题或用户问题。您应该与您的收购方以及您的支付网关进行沟通 - 在我看来,您应该关闭移动原生/网页的3DS,直到其被证明可行。否则,客户将不会完成交易。
话虽如此,像Mopowered这样的公司声称已经通过更好的实现解决了这个问题。但我还没有看到这些技术实现。

1
谢谢 - 非常有用。具体而言,客户使用VeriFone(以前是CommIdea)的互联网处理网关解决方案。在我们进行首次开发时,他们没有任何移动端的解决方案。会查一下事情是否有所改变。同意,我认为3D-Secure很糟糕,作为消费者,我更加讨厌它。对于移动平台,我认为它根本不好。但它确实极大地提高了普通Web交易的欺诈和退款率,这点要肯定。是否有人考虑过为欺诈交易目的记录手机序列号/imsi / etc.? - Jaans
你是否已经与收单银行达成了其他替代安排(例如替代验证等),或者你是否只是放弃了任何验证以防止退款纠纷? - John L.

2

正如其他人所提到的,本地认证期间购物者的体验将太差,无法考虑实施。

然而,随着3D Secure 2.0的推出,3D Secure提供商将能够提供原生SDK,以允许更少的放弃率进行认证。


2
使用自定义URL方案可以解决3D安全重定向问题。正如您所说,这并不是很好的用户体验,但我们在iOS项目中是通过这种方式解决的。

有没有任何替代方案可以解决3D安全重定向的问题? - Sachin C
1
@ismail 你能给一些相同的样例吗? - Harshal Bhavsar
@Ismail,你能否发布一个使用自定义URL方案获取控制的示例代码? - Adnan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接