1

我想知道如何填充字段。

直接集成规范的“A1.2 ThreeDSRequestorPriorAuthenticationInfoXML”部分指出

3DS 请求者先前交易身份验证信息包含有关在当前交易之前发生的 3DS 持卡人身份验证的可选信息。

该字段threeDSReqPriorRef具有描述:

该数据元素向 ACS 提供附加信息,以确定处理请求的最佳方法。它将包含先前已验证交易的 ACS 交易 ID(例如,与持卡人验证的第一笔重复交易)。此 ID 将在未来通过 My Sage Pay 和 Reporting and Admin API 提供。

显然提供事先参考会“更好”,但我想知道如何填充它?

所以我正在查看 CReq 的内容:

{
  "messageType" : "CReq",
  "messageVersion" : "2.1.0",
  "threeDSServerTransID" : "0868ead0-8e3e-4c29-be1a-9689500b52fe",
  "acsTransID" : "44d368d3-31c5-472d-a27e-ad2fd2a75cc7",
  "challengeWindowSize" : "05"

假设所需的数据是从 获得的acsTransID,我大概必须存储这些数据以备下次使用?但我在犹豫我是否应该打开 CRreq,因为这似乎是一种全能的气味?(另请注意,来自 SagePay 测试系统的上述内容也不是有效的 JSON)

SagePay 肯定应该在回复中给出这个参考吗?(我真的不想使用 Reporting API 来获取参考 TBH ......这有点像老鼠窝)

4

2 回答 2

1

听起来您需要从损坏的 JSON 响应中取出 acsTransID 并使用它。这是一个最好的猜测。听起来 SagePay 目前并没有以任何形式返回这个。

于 2019-08-21T12:15:47.747 回答
0

您可以找到如何重定向 3DAuth 的详细信息,持卡人姓名为“挑战”,但仍然没有将 3D 值发送到银行的完整解决方案。

Sagepay - 尽管 3dSecure 失败,但付款已授权

于 2019-08-30T08:59:48.457 回答