SagePay的商人会话密钥和cardIdentifiers是否可以向最终用户公开?

时间:2019-06-11 15:59:39

标签: django vue.js vuex sagepay

我目前正在使用后端的Django和前端的Vue / Nuxt的组合进行基于REST的SagePay集成。

当前过程如下:

  1. 客户端通过GraphQL解析器向我的后端服务器请求一个商人会话密钥。
  2. 后端石墨烯解析器使用秘密的商家集成密钥和密码(存​​储在环境变量中)对merchantSessionKey发出发布请求,并将其返回给Vue前端。
  3. 用户填写信用卡表格(使用SagePay的Own Form integration
  4. 我使用卡数据生成一个cardIdentifier,并将其存储在vuex状态中,以后将用于进一步进行其余交易。

这一切安全吗?显然,它将通过https进行保护,并且当所有产品都投入生产时,我将正确设置CORS,但从技术上讲,我将把商人会话密钥和cardIdentifier存储在最终用户计算机上。

1 个答案:

答案 0 :(得分:0)

两者均在400秒后到期,并且必须在付款注册POST中一起发送,该付款已通过Sage Pay列入IP白名单的服务器上的供应商/帐户IntegrationKey和IntegrationPassword进行了身份验证。需要MSK验证从客户浏览器到Sage Pay端点的卡令牌化调用。结果,您收到cardIdentifier / Token。这种方法使您的服务器没有持卡人的详细信息,但所有(MSK,令牌,PAN和CV2)都可以在客户浏览器中存在。

IntegrationKey和IntegrationPassword不能存储在客户浏览器中。

如果您决定使用自己的付款页面而不是通过插入式结帐,则无法引用来自第三方非PCI DSS服务器的文件来存档PCI DSS SAQ A-EP证明。

我已经通过QSA对其进行了审核