在SAAS应用程序数据库中存储Braintree API密钥

时间:2013-05-17 03:55:55

标签: e-commerce payment-gateway multi-tenant saas braintree

我们正在构建一个多租户SAAS Web应用程序。我们的租户希望选择接受我们允许他们通过我们的应用程序推销的各种产品的信用卡付款。为了支持这一点,我们将要求租户拥有自己的Braintree帐户。租户通过我们的应用程序向我们提供了他们的Braintree API密钥。然后,我们使用这些API密钥代表他们与Braintree帐户进行交互(卡存储,卡验证和基本交易)。

此模型与现有Braintree客户WooThemesGoodsieTutorTrove以及更多客户使用的模型相同。

我们需要记录租户的API信息(商家ID,公共API密钥和私有API密钥),以便全部工作。

我的问题是:

  1. 我们可以简单地将这些信息存储在我们的应用程序数据库中吗?
  2. 存储此信息是否会影响我们或我们的租户的PCI / DSS范围?
  3. 如果我们无法以原始形式存储信息,那么适当的存储形式是什么?
  4. 注意:我们已经直接联系了Braintree同样的问题,但我们认为获得其他意见也不会有害:)。

    干杯, 萨姆

2 个答案:

答案 0 :(得分:1)

恕我直言,请注意您将[如果没有,应该]拥有基于租户的密钥[每个租户可以配置他们自己的密码算法和密钥=> SAAS Cusomization],请使用租户特定密钥对AuthorizationId进行加密,然后在数据库中保留。这些敏感数据应该是安全的,您应该有一个注释,说明您在数据库中维护这些密钥,以便租户可以在不需要时选择退出,并在需要时手动输入密钥。这将确保安全。顺便说一句,您的应用程序使用SSL。

请分享您对此建议的看法

答案 1 :(得分:1)

所以布伦特里用这个问题回答了这个问题:

  

只要您的系统符合PCI标准,并且您的商家都知道   他们的API密钥存储在您的服务器上,那么您应该是   精细。如何存储集成API密钥完全取决于您,   [我们]并没有提供任何最佳实践。

因此,这种情况似乎不会影响我们产品的PCI / DSS范围,似乎我们可以自由选择合适的方式来存储我们获得的私有API密钥(saravanan的建议是一种可能的选择) )。