【发布时间】:2018-03-17 04:09:02
【问题描述】:
我在前端使用 Stripe Checkout,后端使用生成的令牌创建费用。
如何在后端检查为购买一组物品而创建的令牌确实适用于该组物品?这是一个更详细的场景:
物品 A 售价 10 美元
商品 B 售价 1,000 美元
- 用户选择B,使用前端生成Token,创建金额为1000美元。
- 前端将令牌和购买的物品列表(仅 B)发送到后端。
- 后端可以计算给定的购买项目列表来计算成本(但它可以在哪里使用令牌验证?) 1,000 美元,以验证用户购买了 B,然后使用令牌进行收费。李>
我担心的是,如果在第 2 步,用户将发送的购买清单伪装成 A(我知道它的价值低于 B,但这仍然应该被拒绝)。那么在第 3 步,后端应该如何决定拒绝使用令牌进行 Stripe Charge?
尝试:
- 前端传递 Token、totalCost、listOfItems。
- 后端根据 listOfItems 计算成本,并检查它是否与 totalCost 匹配,然后再为总成本金额创建 Stripe Charge。
这是否尽可能安全?
【问题讨论】:
标签: javascript security stripe-payments