的背景:我正在设计一个网站来托管一些在线服务。若要使用任何服务,客户必须使用信用卡支付费用。交易由支付网关处理,该网关保存收集金额、持卡人姓名、信用卡号码的最后四位数和交易日期的记录。如果返回成功响应,将运行代码更新客户数据库,以使客户能够使用付费服务。否则,客户将被重定向到失败的事务页面。
的问题:,因为这是我第一次设计电子商务应用程序,我想得到一些建议。我的问题是,在将数据作为验证形式或会计目的发送到网关之前,是否需要将将存储在支付网关中的内容分别存储在transaction
表中。很高兴听到那些在设计电子商务应用程序方面有实际经验的人。谢谢!
发布于 2011-12-16 13:17:53
假设你不是指存储(甚至可以访问)卡片数据(号码/cvv等),这是一个完全不同的鱼缸,我建议你尽可能地存储;
H 210F 211
>发布于 2011-12-16 12:52:08
我会记录客户名称,交易日期和时间,交易金额,支付网关响应,但没有任何详细的cc,您不需要它,所以不要持有它。这将允许您分析网站的使用情况,找出网关可能出现的问题等等。假设网关返回某种形式的事务id,您可能也想持有它。
发布于 2011-12-16 12:52:46
例如,我没有从事电子商务,但我曾经在一家非常大的银行工作过,他们通常的政策是总是把系统中发生的每一项重要交易的数据保存在审计表上。
我认为这一点很重要,因为如果稍后发现系统中存在漏洞,您将始终有一个“回滚”选项;最重要的是,如果公司内部的某个人试图欺诈或利用您的系统,如果您有审计表,将更容易捕获他们(我知道这听起来很偏执,但银行总是偏执于安全性)。
最后,由于你正在处理别人的钱,我认为你应该跟踪你的交易,至少在一段时间。例如,您可以创建一个触发器来擦除有超过一到两年历史的事务。
https://stackoverflow.com/questions/8534314
复制相似问题