api for merchant sites为我们的用户提供交易信用

时间:2011-03-19 03:42:27

标签: java api xss

我正在开发一个商业网站,让用户可以在参与网站上购物“积分”。现在他们必须扫描收据才能获得积分。我们希望通过引入其他站点可用于与我们集成的API来简化此操作。我们的网站拥有拥有帐户的用户,因此要求如下:

  • 让用户从商家订单确认页面/结帐页面
  • 登录我们的网站
  • 用户进行购买后,商家网站必须让我们的网站知道购买者的用户ID,交易总额和交易ID
  • 最重要的:商家网站需要做的工作越少越好,我们在这里谈论真正的小型企业而没有任何全职的网络程序员。

我有一些想法:

  • 显然有一个 java webservice api 是最好的,但可能要求一些商家在他们的cookiecutter购物车网站上实现它。
  • iframe 我们的内容,但不确定如何安全获取交易金额
  • javascript api ..也非常肯定无法保证。

1 个答案:

答案 0 :(得分:1)

我将草拟一个稻草人黑客解决方案。暂时忽略安全性,可能流程可能会像这样。

  1. 用户访问网站X并购买商品
  2. 在完成购买之前,他们会使用GET / POST参数事务ID和重定向网址重定向到您的登录页面
  3. 您将其登录,创建通过HTTP传递的唯一回调ID并重定向到其购物车页面
  4. 交易已完成,他们点击了您网站上的REST API,表明交易已完成且包含费用
  5. 考虑到安全性,我们需要查看可以伪造交易的可能位置

    1. Impostor在步骤2中传递假身份证)。这应该不是问题,因为客户端站点可能可以验证事务ID的有效性
    2. Impostor在#3中获取回调ID并将其传递给API,从而创建一个错误的事务。为此,我们可以加密主机服务器上的回调ID(除了Web服务器和客户端之间的SSL安全性之外),然后在客户端站点对其进行解密,并通过SSL(未加密)传递给主机的REST API。 / LI>

      简而言之,客户需要能够

      1. 接受/生成参数
      2. 解密字符串
      3. 调用任意URL以访问REST接口(或者通过某种方式通知主机站点回调,显然不是通过重定向,因为这会显示ID)。
      4. 这种方法的一个优点是2/3可以异步完成。如果他们的托管解决方案不允许自定义代码,您可以提供一个脚本,该脚本将以不同的时间间隔批量发送,只要他们在某处记录信息。