时间:2024-05-20
莫洪武 万荣泽
摘 要:针对农产品交易平台中急需解决的网上支付问题,提出基于Asp.net开发运行环境的技术解决办法,有效提高农产品交易平台的实用性,减少农民与农产品买家之间的流通环节,增加农产品销售渠道。
关键词:Asp.net;农产品交易平台;网上支付
1 背景概述
随着网络和物流技术的发展,网上购物已经逐渐从城市走向农村,外出务工回乡的年轻人带回了新的理念和想法,使农村家庭也都融入了网上购物的大潮,现在他们不仅仅在网上购买自己的所需的物品,也急需通过网络把家乡的农产品推销出去。现在网上有很多农产品交易平台,但是基本上都只提供供销功能,无法在网上完成支付,也是因为很多网站技术力量有限,不知道如何实现和支付平台的对接。
广西农业职业技术学院是一所以农为主题的高等职业院校,发展过程中对广西农业农村的发展做出了极大贡献。为了更好服务三农发展,学院网络信息中心与商贸管理系营销专业共同开发基于Asp.net技术的广西南宁农产品交易平台,并成功申请广西教育厅自然科学课题。通过该平台的设计与建设,为农村家庭销售农产品提供了一个值得信赖的平台,可以迅速获取销售资金,又不担心被欺骗,也由于减少了中间流通环节,销售价格可以适当提高,可以获取更大的经济效益,买家也以既便宜又高质量购买到所需的农产品。在设计该系统时,面临即时支付等问题,经过课题组的研究与开发,设计出基于Asp.net网上支付方法,实现广西南宁农产品交易网与支付宝平台的对接,该案例的成功可以为其他想扩展农产品交易系统功能的用户提供参考。
2 农产品交易平台的关键技术分析
传统的农产品交易网站主要是供销平台,用户在网上注册后,发布自己的供求信息,留下联系方式后供求双方直接电话联系沟通达成交易。新的农产品交易平台,需要实现网上交易与支付功能,那么就有很多关键技术需要解决。农产品网上交易的基本流程是:卖家登陆系统后发布农产品,管理用户提交的订单,在用户支付费用的情况下选择物流发货,并对用户的意见等进行处理;买家登陆后在交易平台里选购农产品放置到购物车,选完后提交订单给卖家,支付费用到第三方交易平台,等收到货物时,确认收货将费用从第三方交易平台转给卖家账户,最后发表对农产品的评论。根据网上交易的流程,购物车、订单管理、网上支付和物流对接都是需要解决的关键技术,本文着重讲解如何利用Asp.net实现网上支付功能。
2.1 购物车
购物车类似于超市的购物篮,买家可以同时选择多种农产品放在购物车里面,随时去掉不需要的农产品。在Asp.net开发环境中可以用Session对象临时存储购物车中的数据,但是缺点是计算机重启或关闭浏览器后,购物车中的数据将被清空;如果需要长期存储,一般Asp.net会结合Sql Server数据库系统,把农产品选购结果长期保存到数据库的表中,这样就不会受到浏览器和机器关机的影响。
2.2 订单管理
订单管理涉及到两方面,一个是买家管理订单,一个是卖家管理订单,订单是双方交易的凭证。买家选购完商品后就提交订单给卖家,可以在支付之前随时撤销订单,之后的支付、收货、评论等全部围绕订单进行操作。卖家根据买家提交的订单及支付情况进行发货、收款和开展售后问题,所有这些功能也是围绕订单展开。订单管理非常复杂,涉及到很多状态的变更和与支付、物流等接口的对接问题,尤其与支付宝等接口对接的技术是农产品交易平台实用性的关键。利用Asp.net结合Sql server设计订单表与订单详细表对订单进行管理,可以长期保存订单信息,可以有效提高交易水平,而且利用Asp.net开发的程序可以与支付宝接口对接。
2.3 网上支付
买家提交订单后涉及到支付的问题,原始的供销平台都是通过银行或邮政汇款,比较浪费时间和精力,而且存在欺诈风险,可能用户付款后收不到自己想要的东西,无法维权。如果给农产品交易平台搭建支付宝平台,因为资金在确认收货之前都会存在第三方账户上,在用户收到农产品之后觉得满意,可以确认收货,资金会自动打入卖家账户,如果买家不满意还可以申请退货退款。而且在选择网上支付后,买家和卖家直接面对面,减少了中间流通环节,卖家获利的同时,买家也得到实惠。但是因为技术问题,很多网站只提供供销功能,为了增加农产品交易系统的实用性,本文在第3部分将着重讲如何利用Asp.net结合Sql server实现与支付宝平台的对接,解决这个制约农产品交易平台发展的最大瓶颈问题。
2.4 物流对接
买家支付完成的结果将在订单里面体现,卖家将会把买家需要的农产品通过快递或物流发送给买家。目前快递100提供物流的查询接口,利用Asp.net技术可以很容易获取快递或物流运输的即时信息。
3 基于Asp.net网上支付设计
在网上支付时,农产品买家提交订单后,选择支付进入支付宝集成页面,可以选择支付宝或网银,本文针对买家选择支付宝为例。在选择支付宝付款后,农产品交易平台将订单信息及与支付宝合作的合作ID和安全校验码传给支付宝,买家交款后支付宝反馈通知给农产品交易平台,农产品平台更新订单支付状态后再反馈支付宝,完成最终支付。
3.1 合作ID和校验码申请
要想与支付宝对接,必须向支付宝申请合作ID和安全校验码,具体步骤如下:登录到支付宝,选择网站地图,选择接口集成,选择独立建站,在线签约,填写好申请表格后点击下一步,获取合作ID和安全校验码。
3.2 参数递传设计
(1)传递参数赋值:将支付类型(payment_type)、交易平台对应的支付宝账户(seller_email)、订单编号(out_trade_no)、服务参数(service)、合作ID(partner)、安全校验码(key)、买家支付宝账户(seller_email)、费用总额(price)、订单名称(subject)、数量(quantity)、加密类型(sign_type )、演示地址(show_url)等参数根据具体交易情况赋值。(2)传递参数排序:把参数及其赋值作为一个字符串进行从新排序,方法采用冒泡法按从a到z的顺序依次排序。(3)传递参数加密:将排序好的所有参数以循环的方式用“&”字符拼接成一长串字符串(不包括网关string gateway = "https://www.alipay.com/cooperate/gateway.do?" ),后面在连接上安全校验码Key后进行加密,得出的加密字符串集存储于sign这个参数中。(4)生成标准URL:获取各个参数、参数所属的值以及加密得出的加密字符串,将之前排除在外的网关gaetway和加密类型参数sign_type也连接进来,那么,就这样得出一个完整的URL链接地址,如“https://www.alipay.com/cooperate/gateway.do?s...3d199ba&sign_type=MD5”。(5)打开支付宝收银平台:连接好的字符串已经形成一个URL地址,使用程序直接调用这个URL链接字符串,就可以跳转到支付宝的官方收银台页面。
3.3 参数校验设计
这里目的是保持所传参数的准确性,要对支付宝传回的参数和值与传给支付宝的参数和值进行校对,保证支付宝接收的数据时正确的,这里可以叫通知返回功能,校验过程可以分为以下4个这步骤。(1)验证:利用Asp.net验证是否是支付宝返回的结果。(2)排序:将支付宝通知返回结果按前面所讲的冒泡法从a到z排序。(3)加密:将第2步各个参数和值排序后的结果连接起来并按MD5算法进行加密。(4)校验:将传递给支付宝的参数和支付宝返回的参数加密结果进行比对,如果相同,且是支付宝返回的结果,那么就通过校验,就可以通过支付宝进行付款。
3.4 修改订单状态
当校验成功后,买家的付款将进入第三方平台,支付宝将通知农产品交易平台对订单状态进行修改,Asp.net调用Update更新语句,将对应的数据库表中记录订单状态修的字段改成已支付。到此支付宝接口已经融合进农产品交易网站中,已经能够使用支付宝来进行付款。
4 总结
通过为农产品交易平台设计网上支付等功能,可以为农户与买家建立一个快速的交易平台,减少中间的流通环节。而与支付宝等网上支付平台的对接这一技术是实现网上交易的关键,本文实施的基于Asp.net技术的支付宝接口对接方法,有效应用在广西农业职业技术学院开发的农产品交易平台上,同时也为其他技术开发网上交易平台提供参考,具有较高的实际应用意义。
参考文献:
[1] 王辉. ASP.NET实用教程[M].北京:清华大学出版社,2006.
[2]万荣泽. 基于.NET农产品交易平台的研究与设计[J].广西教育,2014(03):187-189.
基金项目:广西教育厅自然科学研究基金项目
作者简介:莫洪武(1980-),男,硕士,副教授,研究方向:软件技术开发。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!