背景:我正在设计一个网站来在线托管一些服务。要使用任何服务,客户需要使用信用卡支付费用。交易由支付网关处理,支付网关记录所收集的金额,持卡人姓名,信用卡号码的最后四位数字和交易日期。如果返回成功响应,则将运行代码以更新客户数据库以使客户能够使用付费服务。否则,客户将被重定向到失败的交易页面。
问题:由于这是我第一次设计电子商务应用程序,我想得到一些建议。我的问题是,在将数据作为验证形式或出于会计目的发送到网关之前,是否需要在transaction
表上单独存储将存储在支付网关中的内容。听取那些在设计电子商务应用方面有实际经验的人会很高兴。谢谢!
答案 0 :(得分:2)
假设您没有提到存储(或甚至可以访问)卡片数据(数字/ cvv等),这是一个完全不同的鱼,我建议您随时存储任何可能的东西;
答案 1 :(得分:0)
我会记录客户名称,交易日期和时间,交易金额,支付网关响应但不是cc的任何细节,您不需要它,所以不要持有它。这将允许您分析网站的使用情况,发现网关可能出现的问题等。假设网关返回某种形式的交易ID,您可能也希望保留它。
答案 2 :(得分:0)
我是一个与电子商务合作的避风港,但我曾经为一家大银行工作过一次,而他们通常的政策是始终保持审计表中有关每个重要交易的数据。在系统中。
我相信这很重要,因为你总会有一个"回滚"如果您以后发现系统中存在错误,并且最重要的是如果您公司内部的某人试图欺诈或利用您的系统,那么如果您有审计表(我知道这听起来很偏执)会更容易但银行总是对安全感到偏执。)
最后,既然你正在处理其他人的钱,我认为你应该至少在一段时间内跟踪你的交易。例如,您可以创建一个触发器来擦除超过一年或两年的事务。