我正在开发一个Web应用程序,使用ASP.net和C#。
需要提供一个功能,使用户可以通过他们的卡片(信用卡、万事达卡、Visa卡、借记卡等)进行支付。
当用户输入付款详细信息并点击支付按钮时,我该如何处理交易?
- 我该如何验证这些付款详细信息是有效的并且资金已转入商家账户。
我以前从未处理过付款,那么我从哪里开始?
我正在开发一个Web应用程序,使用ASP.net和C#。
需要提供一个功能,使用户可以通过他们的卡片(信用卡、万事达卡、Visa卡、借记卡等)进行支付。
当用户输入付款详细信息并点击支付按钮时,我该如何处理交易?
我以前从未处理过付款,那么我从哪里开始?
你需要记住的最重要的事情是,除非你绝对需要它(如预订或类似的东西),否则不要存储任何用户信息。在我的工作中,我们使用第三方系统Touchnet来处理所有信用卡交易。
我们的自定义应用程序会在将用户转到信用卡门户之前,在数据库中记录金额和特殊交易号。当用户完成交易(取消或支付)后,第三方会使用自定义交易号和付款参考号联系我们的Web服务。此时,我们的Web服务会在数据库中找到该交易并进行适当标记,并在提供参考号的情况下设置参考号。
我们的财务部门负责核对交易并确保我们得到支付。(我从未见过这一部分,所以我不知道它是如何工作的...)
通过使用第三方处理交易,可以解决一些PCI-DSS合规性问题,并且我们可以真诚地告诉我们的用户,我们从不存储他们的信用卡信息。
完全透明:我在PayJunction工作,这是我提供链接的公司:
http://support.payjunction.com/trinity/support/view.action?knowledgeBase.knbKnowledgeBaseId=431
在上述链接中,您将找到一些用于通过PayJunction进行信用卡交易的C#示例代码。我们充当PCI合规性屏障(我们的商家协议规定您永远不会存储卡信息和一些其他使您超出PCI范围的内容)。啊,处理信用卡真是一件麻烦的事情!在处理付款时要注意PCI要求。我曾经为Mercury支付系统工作过。他们有各种API可以集成。这是他们的开发者集成页面:
http://www.mercurypay.com/developer-securitysolutions.htm
祝你好运!