编写在线支付处理系统

Posted

技术标签:

【中文标题】编写在线支付处理系统【英文标题】:writing an online payment processing system 【发布时间】:2010-11-23 13:59:11 【问题描述】:

我们被要求创建一个类似于 Paypal 的在线支付处理系统供我们国家使用。

这个的开源版本是否存在? (所以我可以研究它,也许会改进它)

是否有任何有用的书籍/资源/材料?

我该如何承担如此巨大的任务?

【问题讨论】:

【参考方案1】:

我认为你的老师希望你学习如何计划,而不是如何复制,所以不要寻找参考实现,而是学习如何思考问题。

解决任何大问题的诀窍是将其分解为小问题。

那就这样做吧。

在纸上写下你需要做什么, 画图, 找到您需要的所有单个功能位,绘制其外观的屏幕, 讨论用户体验, 将内容分解为模块 开始写作

您还需要考虑对其进行测试,并确保它提供您需要的所有功能。

一旦你开始思考手中的铅笔和纸的问题,它就会变得非常容易,恕我直言 :)

【讨论】:

嘿 Silky,感谢您的回答,但我不再是学生了。所以,我没有老师。该项目将在全国范围内使用。所以,我想得到一些帮助来实现这个。 Attilah:无论如何,在开始任何新项目时都适用相同的规则。如果这不是家庭作业,并且有人付钱给你,那么,这就是你的工作。我不认为 SO 可以帮助解决这样一个普遍的问题。 Silky :我在这里询问一些大致的方向。不是代码的实际实现。 我的大致方向如上。如果你把它分解成特定的任务,这不是一个困难的问题。想想你的具体任务,并一一解决。 另外:sourceforge.net/search/… 如果您希望找到开源实现。就个人而言,我不会。【参考方案2】:

嗯,首先,您需要对您所在国家/地区在法律方面处理资金的方式(增值税、退款等)有扎实的了解,所以如果您告诉我们这些可能会有所帮助。

其次,这不是产品而是服务,因此您需要一名员工来支持您的用户。您还需要进行交易以处理信用卡、电子支票等。而且由于您可能处理大量资金,因此您还需要财务和法律建议(阅读this E-Gold statement 和Wikipedia entry)。您还需要非常重视虚拟和物理安全,因此您需要与多个不同的团队签订合同,以独立分析和审核您的系统。

这确实是一个广泛的问题,我建议您阅读有关 PayPal 和其他处理系统的所有 Wikipedia 条目,然后更详细地解释您的确切问题(尽管您可能真的想保密一些东西,因为这是一个可公开访问的网站)。

【讨论】:

【参考方案3】:

首先要确定谁将处理您的信用卡交易,因为他们也很可能会处理借记卡。

自己处理这些是一件很痛苦的事情,因为必须满足一些标准,并且您最终需要为特权付费。除非您要处理大量交易,否则最好使用已经可以处理这些交易的另一家公司。

首先,只需使用 Payflow 之类的工具设计系统,即可进行实际处理。

一旦您启动并运行,并且您已经处理了 PCI 标准来保护信用卡数据,那么您可以考虑尝试逐步淘汰您的支付网关并自己动手,但是,只有当您确定您处理的数量足够,需要额外的开发和资源成本才能自己完成。

您需要有一个签名的证书,以确保您的网站是安全的,并确保您有强大的加密来保护信用卡数据,并确保密码或对称密钥不在计算机上,但只保存在永远不会交换到硬盘驱动器的内存中,否则有人可以窃取它,如果他们可以复制硬盘驱动器。

http://www.allbusiness.com/sales/internet-e-commerce-securelectronic-transaction/2310-1.html

【讨论】:

【参考方案4】:

@James Black 和 @eyze 分别为他们的答案 +1。这不是一项小任务,除非您为一家已经以某种方式隶属于信用处理网络的公司工作,否则您将面临大量工作和大量合规问题。他们的回答很好,我没有太多要补充的,但我想补充一下。

我们曾与一家已经在授权信用卡交易业务的公司合作,但他们主要使用 POS 系统和终端,而不是作为 Internet 网关。我们想坚持使用它们来处理网站付款,因为我们将它们用于我们的商店。本质上,由于它们不能用作 Internet 支付网关,因此我们需要在后台使用它们编写自己的支付网关。经过数周的研究,我们得出的结论是,尽管这在技术上是我们能力范围内的,尽管我们了解 PCI 和其他适用标准,但最好留给将其作为主要业务的公司。我们将使用预先存在的网关之一。

另外,回答您的具体问题:

我不相信任何开源的存在。完成信用卡处理的主干非常敏感,并且是攻击者的目标,因此非常需要限制在需要知道的基础上如何处理卡的知识。 (我数不清有多少保密协议只是为了研究这个想法。)

出于同样的原因,我怀疑你会在书籍等方面找到很多东西。

如果您与一家已经处理卡片的公司合作,那么您就领先了一步,但如果您想打入该业务,您将面临巨大的障碍。

【讨论】:

以上是关于编写在线支付处理系统的主要内容,如果未能解决你的问题,请参考以下文章

基于php004网络投票在线投票系统

原生nodejs编写在线聊天系统

php编写刷网课自助下单系统(第三方支付实例)

实现在线评测系统

Hadoop 系统的存储引擎和在线事务处理

开发升讯威在线客服系统启示录:怎样编写堪比 MSDN 的用户手册