首页 > 解决方案 > 方形支付:如何保护“存档卡”免受数据泄露

问题描述

我正处于整合 Square 支付的早期阶段。在我的应用程序中,允许用户保存他们的卡详细信息是有意义的,因为我们期望进行多次小额交易。Square 将此功能称为“存档卡片”。

作为此过程的一部分,您将在 Square 的系统中创建客户和相关卡;这些 ID 将保存在我的系统中并与我的用户相关联;这样,当他们再次付款时,他们可以选择使用存档卡的选项。实际向卡收费的 API 只需要这两个 ID 和一个 amount

让我担心的是,我的数据库保存着从客户卡上收费所需的所有数据。我可以编写一个脚本,只向我的所有客户收取一定数额的费用——当然,有权访问我数据的黑客也可以做同样的事情。

我没想到我的系统中会有这种级别的风险——我的假设是 Square 会将我与此隔离(通过某种用户对丢失数据的挑战——例如 CCV 编号)。似乎安全的选择是不使用“存档卡”功能并让用户每次都重新输入。

这是对的,还是我在这里完全误解了一些东西?

标签: square-connect

解决方案


为了从卡中扣款,需要您的 Square 访问令牌以及卡 ID。最好将该访问令牌存储为环境变量以限制安全风险。如果有人获得了对您数据库中卡 ID 的访问权限,那么如果没有与您的开发者帐户关联的访问令牌,他们将无法向任何卡收费。


推荐阅读