拼吾爱程序人生

首页 » 编程应用 » 应用系统 » DiscuzNT 商品交易插件设计之[线上交易]---业务流程
cobra - 2008-9-8 21:39:00
上一篇中, 我们了解了为提供支付宝在线支付功能,所需要的一些助手(helper)类, 在本文中,我们将会以一个线上支付流程来进一步介绍业务设计上的一些内容和思想。

      在之前的线下支付流程中,我们看到交易是靠买卖双方不断更新本地的交易状态来进行推动的。而线上支付这个过程的推动主要靠支付宝那面的操作来完成,而本地服务器只是提供了交易信息并进行跳转(到支付宝)。并接受支付宝回传过来的交易信息,来更新本地数据库中的交易状态并发送站内消息给买家或者卖家。

      了解了上面的信息之后,我们通过一个简单的例子来加以说明,同时按“老规矩”,在介绍过程中穿插对源代码的讲解。


  当我们在商品显示页面中点击立即购买按钮之后,如下图:


 附件: 您所在的用户组无法下载或查看附件



  我们会进入到“确认购买信息”页面,如下图:


 附件: 您所在的用户组无法下载或查看附件




  当在“确认购买信息”页面中的交易方式选项中选择“支付宝在线交易”选项后,如上图所示,点击确认购买后,系统会提示“交易单已创建”的成功信息,如下图所示:


 附件: 您所在的用户组无法下载或查看附件



  然后系统会将页面重定向到onlinetrade.aspx页,如下所示:



 附件: 您所在的用户组无法下载或查看附件
   


  当我们点击使用支付宝支付的按钮之后,系统会创建订单如下所示:


 附件: 您所在的用户组无法下载或查看附件

  

  然后跳转到支付宝交易页面。如下图:


 附件: 您所在的用户组无法下载或查看附件

 您可能对 [应用系统] 的这些文章也感兴趣:

Google开放平台功能应用演示
微软的新型页面等级"BrowseRank"比谷歌的"PageRank"更准确?
谷歌Chrome浏览器开发内幕
在这个Web框架满天飞的世界中,一些开发者还在构建其自己的框架
成熟的Web服务和虚幻的SOA实现
浅谈ERP上线初期如何加强仓库管理
SharePoint 2009的一些特征
IBM网格计算:developerWorks专区使命完成
支持FireFox3的最实用火狐插件Top10(附图,官方主页,下载地址)
虚拟主机实现“泛解析”解决方案
cobra - 2008-9-8 21:46:00
在点击“支付宝交易.付款”按钮后并正确输入相应登陆信息,我们就可以使用支付宝来逐步完成交易流程了,因为这块操作只有使用过支付宝的朋友都有心得,所以就不再多说了。我们假设在支付宝平台上付了款之后,这里支付宝会回传数据到我们的本地服务器上,而我们本地接受回传数据并返回确认信息的页面是tradenofity.aspx(参见源代码cs文件),其内容如下

(详见注释):

Code


上面的页面用于接受支付宝post过来的数据,并对其有效性进行校验,以避免是其它恶意请求。
这部分的工作是通过CheckPayment()方法来完成的。
cobra - 2008-9-8 21:48:00
当校验通过后,就要进行更新交易状态的操作了,正如我在线下支付一文中所说的,交易状态共有17种,这里只有主要的交易状态进行了绑定并进行更新,参见如下代码:

Code


而UpdateTradeLog方法在线下交易一文中已介绍过,这里就不多说了。


    需要注意的一点就是,如果我们要想在本地测试该项功能,需要找网管协助将我们的机器IP地址绑定(公布)到网上,使支付宝能够访问我们调试的机器,只有这样交易信息才能正常发送过来。

      当交易状态更新结束之后,我们还要向支付宝平台发送一个确认信息,以通知它我们已收到了它发过来的交易信息。如果不这样做的话,支付宝就会每隔一段时间来敲您网站的大门,不停的向您发送该交易信息了。

      当然这时相对于买家已经向交易成功迈出了第一步,而卖家因为本地数据库中交易状态已更新,同时也收到了买家已付款的站内短消息(UpdateTradeLog方法中实现)。这时就要登陆支付宝平台来进行发货或其它与本次交易有关的操作了,而这部分的内容很接近于线下支付流程,只不过是将这个业务过程搬到了支付宝上来而已,这里就不再多说什么了。



      到这里系统要做的就是不停的接受支付宝post过来的交易数据来更新本地数据库中的交易状态,从而最终完成本次交易操作。当买卖双方交易完成后,依旧会像在线下支付流程一样,出现进行双方互评的交易链接,以便为信用机制提供数据支持,如下图所示:


 附件: 您所在的用户组无法下载或查看附件


  点击后,我们会进入到评价页面,如下:



 附件: 您所在的用户组无法下载或查看附件


      当评价完成后,我们就可以去信用页面看当前买卖双方的信用,好评率等信息了,而信用机制这方面的内容,会在下一篇文章中详加说明。

      到这里,我们完成了一个线上交易。当然我们可以通“用户中心”来查看我们关注或进行中的交易等信息,如下图所示:


 附件: 您所在的用户组无法下载或查看附件





    好了,今天的内容就先到这里。



作者:代震军,daizhj
原文链接:http://www.cnblogs.com/daizhj/archive/2008/08/18/1270227.html
1
查看完整版本: DiscuzNT 商品交易插件设计之[线上交易]---业务流程
Modify by pin5i DZNT_ExpandPackage 2.1.3258 2007-2008 pin5i.com
  Total Unique Visitors: