繁体   English   中英

如何检查信用卡是否对PayPal有效

[英]how to check if the credit card is valid or not for paypal

我必须通过paypal获取用户信用卡详细信息。 用户第一次输入卡的详细信息时,付款是通过paypal pro完成的。 如果该卡无效,则不会付款。 只有在卡有效时才会付款。

用户第一次输入有效的卡详细信息并完成付款时,如果此时用户修改了信用卡详细信息,我需要再次检查该卡是否对PayPal有效。

那么有没有API只检查信用卡详细信息而不处理任何付款?

我正在运行php和mysql。

谢谢。

阿维纳什

使用Paypal,您的选择非常有限。 如果您使用的是Paypal Pro,则只需0.00美元即可通过授权验证该卡是否存在且合法。 如果您使用的是Paypal提供的其他付款方式,您将无法执行此操作。

您的其他选择是验证卡至少包含有效信息。 您可以使用Luhn算法验证卡号是否合法。 所有信用卡号都以可以使用该算法验证的模式发布。 它无法确认该卡是否有效,但它将消除输入的伪造信用卡号。 您还应验证到期日期是否已过期,以及Visa,MasterCard和Discover Card的CVV代码长度仅为三位数,American Express为四位数。

如果您需要使用代码验证Luhn算法的卡号,请告诉我,我可以附上我的答案以包含它。

编辑(在PHP中添加了Luhn算法代码):

function passes_luhn_check($cc_number) {
    $checksum  = 0;
    $j = 1;
    for ($i = strlen($cc_number) - 1; $i >= 0; $i--) {
        $calc = substr($cc_number, $i, 1) * $j;
        if ($calc > 9) {
            $checksum = $checksum + 1;
            $calc = $calc - 10;
        }
        $checksum += $calc;
        $j = ($j == 1) ? 2 : 1;
    }
    if ($checksum % 10 != 0) {
        return false;
    }
    return true;
}

用法:

$valid_cc = passes_luhn_check('4427802641004797'); // returns true
$valid_cc = passes_luhn_check('4427802641004798'); // returns false

在不了解Paypal的情况下,我会想象他们有某种授权API,您可以在这里获得$ 0.00授权,看看该卡是否有效。

存储信用卡详细信息时请记住PCI要求。

客户可以更改哪些信用卡详细信息会对您存储的数据产生影响。 如果客户改变了像他的浮雕名称那样重要的东西,那么发行人会给客户一张新卡。 从您的角度来看,这应该是一张新卡(即使卡号没有改变)。

如果你保存一些其他细节,那么你节省了太多。

从我的观点来看(我在发行人工作),不要采用0.00美元的授权方式。 如果您想向客户收费,请进行授权。 不是Paypall,但发行人将处理自动化。 最后,只有发卡机构知道该卡是否有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM