【问题标题】:How to correlate Stripe Token with items purchased; prevent spoofing如何将 Stripe Token 与购买的物品关联起来;防止欺骗
【发布时间】:2018-03-17 04:09:02
【问题描述】:

我在前端使用 Stripe Checkout,后端使用生成的令牌创建费用。

如何在后端检查为购买一组物品而创建的令牌确实适用于该组物品?这是一个更详细的场景:

物品 A 售价 10 美元

商品 B 售价 1,000 美元

  1. 用户选择B,使用前端生成Token,创建金额为1000美元。
  2. 前端将令牌和购买的物品列表(仅 B)发送到后端。
  3. 后端可以计算给定的购买项目列表来计算成本(但它可以在哪里使用令牌验证?) 1,000 美元,以验证用户购买了 B,然后使用令牌进行收费。李>

我担心的是,如果在第 2 步,用户将发送的购买清单伪装成 A(我知道它的价值低于 B,但这仍然应该被拒绝)。那么在第 3 步,后端应该如何决定拒绝使用令牌进行 Stripe Charge?

尝试:

  1. 前端传递 Token、totalCost、listOfItems。
  2. 后端根据 listOfItems 计算成本,并检查它是否与 totalCost 匹配,然后再为总成本金额创建 Stripe Charge。

这是否尽可能安全?

【问题讨论】:

    标签: javascript security stripe-payments


    【解决方案1】:

    这就是为什么你应该使用 webhook webhook documentation

    要验证您的付款是否已完成且金额正确,您可以使用 webhook 而不是用户操作来触发。这是当今的普遍做法。

    在您收到webhook后,您可能会在您检查(金额,client_info,其他检查)后触发订单状态的变化。

    【讨论】:

      猜你喜欢
      • 2017-01-12
      • 2017-05-14
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 2017-01-19
      • 2012-11-01
      • 2011-03-03
      • 1970-01-01
      相关资源
      最近更新 更多