0

我们目前正在更新我们的 SagePay 集成,以根据即将生效的欧盟法规强制执行 3DSecure。

然而,我们的测试发现,即使 3DSecure 被标记为“失败”,付款仍然被授权。除了 3D Secure 检查,我们没有在管理系统中设置任何特定规则。(其他 3d 安全复选框均未选中,并且最小值/最大值字段中没有值)。

我们希望设置我们的系统,以便如果 3Dsecure 失败,它不会授权交易。我们如何做到这一点?

4

2 回答 2

0

将Cardholder字段更改为神奇值CHALLENGE对我有用

这将使状态返回为“3DAUTH”(在使用魔法值之前我总是得到“OK”);您还将获得 Sage 模拟器 ACSURL(“ https://test.sagepay.com/3ds-simulator/html_challenge ”)。查看我的请求和响应示例

发送: "VPSProtocol=4.00&TxType=PAYMENT&Vendor=[YOUR_VENDOR_HERE]&VendorTxCode=[YOUR_VENDOR_TX_CODE]&Amount=8.05&Currency=GBP&Description=LDN payment&CardHolder=CHALLENGE&CardNumber=4929 0000 0000 6&CV2=123&ExpiryDate=0120&CardType=VISA&BillingSurname=TestSurname&BillingFirstnames=TestName&BillingAddress1=88&BillingCity=Glasgow&BillingPostCode=412&BillingCountry=GB&DeliverySurname=TestSurnameB&DeliveryFirstnames=TestNameB&DeliveryAddress1=test address line 1&DeliveryCity=Glasgow&DeliveryPostCode=412&DeliveryCountry=GB&CustomerEMail=test@email.com&Apply3DSecure=1&ChallengeWindowSize=01&ThreeDSNotificationURL=[YOUR_URL]&BrowserAcceptHeader=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3&BrowserUserAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36&BrowserJavascriptEnabled=1&BrowserJavaEnabled=1&BrowserLanguage=en-GB&BrowserColorDepth=8&BrowserScreenHeight=480&BrowserScreenWidth=640&BrowserTZ=0&ClientIPAddress=127.0.0.1"

已收到: "VPSProtocol=4.00; Status=3DAUTH; StatusDetail=2021 : Please redirect your customer to the ACSURL, passing CReq.; VPSTxId={9A9461B6-C8A8-CDE5-75FC-EBABFA6BB5FD}; 3DSecureStatus=OK; ACSURL=https://test.sagepay.com/3ds-simulator/html_challenge; CReq=ewogICJtZXNzYWdlVHlwZSIgOiAiQ1JlcSIsCiAgIm1lc3NhZ2VWZXJzaW9uIiA6ICIyLjEuMCIsCiAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIiA6ICJmMWZkNWJhOS0xZTAzLTQ4NGQtOGQzNi0zMTU5MTM5N2Y2YmIiLAogICJhY3NUcmFuc0lEIiA6ICJmNzgxOTYwMS1iN2VhLTRkMWUtYWY0MS00ZjRhYTY1NjQ3MjMiLAogICJjaGFsbGVuZ2VXaW5kb3dTaXplIiA6ICIwMSIKfQ"

请参阅有关此文档的链接,第 28 页的幻数: Sage 直接集成协议 4.00

于 2019-08-09T13:14:26.673 回答
0

我遇到了完全相同的问题。正确通过所有详细信息,每张测试卡都会按照成功授权返回。这与昨天我被发送到挑战页面时不同(随后给了我一个 404 错误),所以我只能推测 SagePay 实际上还没有完成编写他们的 3DSv2 处理。

您可以传递的“魔术值”因为 CardHolder 实际上也没有做任何事情,而且在传递一些新字段(例如 ThreeDSRequestorAuthenticationInfoXML 和 AcctInfoXML)时,我也会收到服务器错误。

等待收到我昨天发送给他们的支持团队的电子邮件的回复。

于 2019-08-07T12:02:04.260 回答