所以我有一个Django Web应用程序,我需要添加一个支付模块.
基本上,用户将预付一定数量的服务,并且当用户使用该服务时,这将缓慢减少.我想知道促进这个的最佳做法是什么?我可以使用Satchmo处理付款,但只是将USD值存储在数据库中并让我的代码与该值直接交互似乎有点冒险.当然我可以做到这一点,但我想知道是否已经有一个经过充分测试的解决方案来解决这个问题?
最佳答案 我不知道你提出的“经过良好测试的解决方案”,但我强烈建议不要在数据库中存储一个美元值并增加或减少该美元价值.相反,我会建议存储可以在出现任何问题时进行审计的事务.计算用户帐户中信用卡和借记卡交易的可用金额,而不是直接存储.
为了更加安全,您需要确保您的应用程序无法删除任何交易记录.如果由于某种原因无法拒绝相关表的写入权限,请尝试在创建事务时将事务复制到第二个数据库(应用程序不接触).