处理付款时验证信用卡所有权

4
在我们的网站上,我们有以下内容: - 用户注册(包括名字和姓氏) - 嵌入式支付系统(由Stripe驱动)
用户可以在线购买物品,我们希望确保他们所使用的付款卡实际上是属于他们的,即卡片所有者的名字和姓氏与用户的名字和姓氏相匹配(如果不匹配,则要求我们的用户更新其个人信息或使用另一张卡)。我们使用Stripe作为我们的支付服务提供商(顺便说一下,非常好用!),但这个问题是独立于平台的。我被告知没有实际的方法来实现这一点(因为付款可以在没有名字和姓氏的情况下进行处理,银行也不会返回它们),除了在收费请求中传递名字和姓氏以及卡号,并希望发卡银行也对它们进行匹配控制,如果错误,则拒绝支付(但这并不能保证,许多银行不这样做)。
基于此,当收取支付时,最好的做法是什么,以确保用户身份得到验证?
1个回答

5
您是正确的,当进行授权时,没有对卡片名称进行验证。然而还有其他选项。
CV2/CVC/AVS
一个简单的选择是执行CV2检查(也称为CVV-卡验证值,CVC-卡验证检查或AVS-地址验证服务)。为了做到这一点,您将取用户地址中的数字,邮政编码中的数字以及银行卡背面的三个数字(美国运通卡上有四个数字),并在执行授权的同时提交它们。
支付服务提供商将用CV2结果回复您,告诉您哪些部分匹配/不匹配。即,“全部匹配”或“仅地址匹配”等。然后,您可以使用此结果决定是否要接受付款,或发送撤销以取消授权。

https://support.stripe.com/questions/what-is-avs

3DSecure/VBV/SecureCode

有额外的身份验证服务是由Visa/Mastercard共同开发的,这在欧洲很常见(我相信现在已经引入到美国)。这个共享技术被称为3D-Secure,但由Visa品牌化为“Verified by Visa”,由MasterCard品牌化为“Mastercard SecureCode”,由Amex等进行品牌化。

首先,持卡人需要与其银行配置密码。然后,在在线授权时,持卡人将从付款页面重定向到持卡人的银行,该银行显示自定义问候语,并(可选)要求用户确认其密码。

http://en.wikipedia.org/wiki/3-D_Secure


嘿,PaulG,感谢你对3Dsecure和AVS的有用概述!(总是很高兴收到关于银行系统的实用解释)。无论如何,尽管有几种方法可以确保付款“安全”(即由所有者授权),但要求一些仅所有者自己知道的进一步信息,似乎没有机会使用信用卡付款来识别人(或确认某人的身份),因为所有者可能是任何人。案子结了? - Marco Gagliardi
@PaulG 是正确的,但我想澄清一下,CV和AVS是两个独立的系统,将返回各自的验证响应。CV是背面的3或4位数字代码(有时在AMEX前面),而AVS将验证从仅房屋号码到整个带套房或公寓的地址,以及取决于系统的邮政编码。这些系统的存在是为了让您相当确定他们有权使用该卡。您可能需要查看账户持有人提供的任何欺诈设置,以标记/拒绝CV / AVS验证失败。 - Ian Link

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