即使在尝试强制 3D-Secure 时,3DSv2 也始终返回 Status=OK
我正在尝试设置 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。这个是。
查看完整描述