为了账号安全,请及时绑定邮箱和手机立即绑定

即使在尝试强制 3D-Secure 时,3DSv2 也始终返回 Status=OK

即使在尝试强制 3D-Secure 时,3DSv2 也始终返回 Status=OK

PHP
BIG阳 2021-12-24 14:56:08
我正在尝试设置 3DSv2,目前处于测试环境中。客户端 URL (cURL)$paymentUrl = 'https://test.sagepay.com/gateway/service/vspdirect-register.vsp';$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $paymentUrl);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_TIMEOUT, 120);$curlResponse = curl_exec($ch);$response = generateResponseArray($curlResponse);var_dump($response);function generateResponseArray($response){    $output = [];    $tempArray = explode(chr(10), $response);    foreach ($tempArray as $row) {        list($key, $value) = explode('=', $row, 2);        $output[$key] = trim($value);    }    return $output;}我的$postData包括以下项目:Apply3DSecure=1 // Force 3DS ChallengeCardNumber=4929000005559 // VERes = N回复array(15) {  ["VPSProtocol"]=>  string(4) "4.00"  ["Status"]=>  string(2) "OK"  ["StatusDetail"]=>  string(40) "0000 : The Authorisation was Successful."  ["VPSTxId"]=>  string(38) "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"  ["SecurityKey"]=>  string(10) "XXXXXXXXXX"  ["TxAuthNo"]=>  string(7) "XXXXXXX"  ["AVSCV2"]=>  string(24) "SECURITY CODE MATCH ONLY"  ["AddressResult"]=>  string(10) "NOTMATCHED"  ["PostCodeResult"]=>  string(10) "NOTMATCHED"  ["CV2Result"]=>  string(7) "MATCHED"  ["3DSecureStatus"]=>  string(2) "OK"  ["CAVV"]=>  string(28) "TnVqajA3TjdxTjhrRGFIMWROTzI="  ["DeclineCode"]=>  string(2) "00"  ["ExpiryDate"]=>  string(4) "0225"  ["BankAuthCode"]=>  string(6) "999777"}我的状态不应该回到3DAUTH这个时候吗?我需要继续构建我们的 3D-Secure 系统,但这笔付款不应OK在此处具有状态。我们在 Sage Pay 中设置了一项规则,要求对超过 500 英镑的付款进行 3D-Secure。这个是。
查看完整描述

1 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

在 Sagepay 测试环境中,您需要通过有效的测试卡号(我使用4462 0000 000 0003)发送,并且至关重要的CardHolder设置为CHALLENGE.

如果您不这样做,交易仍将通过 3-D Secure,但不会有摩擦(即用户不会看到任何 iframe 等)。您仍将获得无摩擦交易的责任转移。

另请注意,您可以使用该CardHolder字段来测试其他场景。这是一个完整的列表:

  • SUCCESSFUL - 模拟身份验证成功的无摩擦流程

  • NOTAUTH - 模拟身份验证不成功的无摩擦流

  • CHALLENGE- 模拟质询流程,持卡人将被重定向到 ACS 以进入双因素身份验证。还将返回 CReq、VPSTxId、ACSURL 和 StatusDetail。一旦您重定向到 ACSURL,challenge在站点上输入正确的密码 (Text = ) 将模拟成功的身份验证,输入任何其他密码将模拟不成功的身份验证。

  • PROOFATTEMPT- 模拟持卡人尝试对自己进行身份验证,但该过程未完成。返回 CAVV,这被视为已成功通过身份验证。

  • NOTENROLLED - 模拟未在 3D 安全方案中注册的卡。

  • TECHNICALDIFFICULTIES- 模拟无法完成的 3D-Secure 认证。未发生身份验证。

  • STATUS201DS- 模拟回退到 3DSv1。您将收到 PAReq、MD、ACSURL 和 StatusDetail

  • ERROR - 模拟由于参与检查的一方的数据错误或服务不可用而无法执行 3D 身份验证的错误情况。


查看完整回答
反对 回复 2021-12-24
  • 1 回答
  • 0 关注
  • 242 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信