修改zen-cart下单和付款流程以防止漏单文档

修改zen-cart下单和付款流程以防止漏单文档

ID:37207678

大小:84.00 KB

页数:13页

时间:2019-05-19

修改zen-cart下单和付款流程以防止漏单文档_第1页
修改zen-cart下单和付款流程以防止漏单文档_第2页
修改zen-cart下单和付款流程以防止漏单文档_第3页
修改zen-cart下单和付款流程以防止漏单文档_第4页
修改zen-cart下单和付款流程以防止漏单文档_第5页
资源描述:

《修改zen-cart下单和付款流程以防止漏单文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、zen-cart进入第三方支付网站后,如果不能正常返回,则会造成客户已付款但后台却无订单数据的尴尬局面。本文就针对该问题给出一种解决方案,希望对被同样问题困扰的同行有所帮助。用过zen-cart的人都知道,zen-cart中下单步骤是下面这样的(其中[]中的表示不是必须的):1.购物车(shoppingcart)2.[货运方式(deliverymethod)]3.支付方式(paymentmethod)4.订单确认(confirmation)5.[第三方网站支付]6.订单处理(checkoutprocess)——这一步比较重要,因为会在这里将购物车中的信息写入订单7.下单成功(checko

2、utsuccess)这样的流程在正常情况下是没有任何问题的。但是,从第5步到第6部的过程中,用户可能以为付款成功就直接关闭掉网页了,或者由于网络原因造成不能正常跳转到checkout_process页面,这样造成的后果是很严重的,因为订单不能被正常的创建。基于上述的分析,我们希望稍微地改变一下流程,即在支付之前订单已经创建好了,这样就算在支付时不能从第三方支付网站跳转回来,我们也不会存在用户付款成功却在后台没有订单的情况了。经过修改后的蓝图基本是下面这样的:1.在checkour_confirmation页面确认订单后,都会直接proccess,并且进入checkour_success页

3、面,可以在这里进入付款页面。如下图所示:2.如果当时客户没能付款,也可进入自己的后台对历史订单进行付款。如下图所示:下面我们就来看看如何一步一步来实现上述的功能。1.首先我们需要对现有的支付模块进行一个改造。需要对支付方式的class增加一个字段paynow_action_url,用来表示进行支付的页面url,另外还需要增加一个函数,paynow_button($order_id),来获取支付表单的参数隐藏域代码。要增加paynow_action_url字段,请在类payment的构造函数中最后加上下面的代码:if((zen_not_null($module))&&(in_array($

4、module.'.php',$this->modules))&&(isset($GLOBALS[$module]->paynow_action_url))){$this->paynow_action_url=$GLOBALS[$module]->paynow_action_url;}要增加paynow_button($order_id)函数,请在payment类的最后一个函数之后加上如下的代码:functionpaynow_button($order_id){if(is_array($this->modules)){if(is_object($GLOBALS[$this->selecte

5、d_module])){return$GLOBALS[$this->selected_module]->paynow_button($order_id);}}}2.以paypal支付方式为例子,说明如何具体实现。为了不破坏paypal原有的代码,我们将paypal.php文件拷贝一个副本出来,并命名为paypalsimple.php,并对里面的代码做适当的修改。代码如下所示,可以看到,这里去掉了对form_action_url的指定,并给定了paynow_action_url,因为我们希望用户点击“确认订单”后直接进入checkout_process,所以如果不指定form_action

6、_url,那么确认订单的表单就会直接提交到checkout_process页面了,而paynow_action_url就是以前的form_action_url的值。paynow_button函数的实现也很简单,这里只是将原先的process_button()函数的内容剪切过来而已,只不过我们没有使用全局的$order变量,而是使用$order=neworder($order_id),来重新构造的一个对象,这样做是为在历史订单中显示paynow按钮做准备的。paypalsimple.php

7、htCopyright2003-2006ZenCartDevelopmentTeam*@copyrightPortionsCopyright2003osCommerce*@licensehttp://www.zen-cart.com/license/2_0.txtGNUPublicLicenseV2.0*@version$Id:paypalsimple.php49602009-12-2911:46:46Zgary$*///ensur

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。