尝试运行“挑战”流程时,我无法通过 SagePay 测试环境完成交易。我正在提供新的 PDS2 字段并使用 VPS Direct Protocol 4.00
我已经三次检查了 VPSTxId,以确保它是我在第一阶段交易的响应中收到的。CReq 也存在且有效(我已经对其进行了 Base64 解码,对我来说它看起来足够合理)。
测试系统的响应(第一阶段事务):
"Status" -> "3DAUTH"
"3DSecureStatus" -> "OK"
"CReq" -> "ewogICJtZXNzYWdlVHlwZSIgOiAiQ1JlcSIsCiAgIm1lc3NhZ2VWZXJzaW9uIiA6ICIyLjEuMCIsCiAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIiA6ICJjMzY2NjEyMi04Yjk4LTRhNmEtYjlkZS01OGI2MWFkNjhhZTMiLAogICJhY3NUcmFuc0lEIiA6ICI5YjNkOGFkMS0yZDY3LTRjNjYtYmM4Yi02ZWQ1ZDIwYzk2OWEiLAogICJjaGFsbGVuZ2VXaW5kb3dTaXplIiA6ICIwNSIKfQ"
"StatusDetail" -> "2021 : Please redirect your customer to the ACSURL, passing CReq."
"ACSURL" -> "https://test.sagepay.com/3ds-simulator/html_challenge"
"VPSProtocol" -> "4.00"
"VPSTxId" -> "{2C04F723-BC87-3C7B-D805-DD4ED5B6BAFF}"
请求测试系统(第二阶段交易):
"CRes" -> "ewogICJtZXNzYWdlVHlwZSIgOiAiQ1JlcyIsCiAgIm1lc3NhZ2VWZXJzaW9uIiA6ICIyLjEuMCIsCiAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIiA6ICJjMzY2NjEyMi04Yjk4LTRhNmEtYjlkZS01OGI2MWFkNjhhZTMiLAogICJhY3NUcmFuc0lEIiA6ICI5YjNkOGFkMS0yZDY3LTRjNjYtYmM4Yi02ZWQ1ZDIwYzk2OWEiLAogICJ0cmFuc1N0YXR1cyIgOiAiWSIKfQ"
"VPSTxId" -> "{2C04F723-BC87-3C7B-D805-DD4ED5B6BAFF}"
测试系统的响应(第二阶段事务):
"Status" -> "INVALID"
"StatusDetail" -> "5083 : VpsTxId provided in callback does not match transaction in CRes"
"VPSProtocol" -> "3.00"
我尝试使用 VPSProtocol(3.00 和 4.00)提交第二阶段事务,但不使用。没有不同。
有任何想法吗?我希望 SagePay 测试环境刚刚损坏,但也有可能我做错了什么..