首页 后端开发 php教程 修改zen-cart下单和付款流程以防止漏单_PHP教程

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

Jul 21, 2016 pm 02:54 PM
下单 不能 付款 修改 支付 流程 第三方 网站 进入 防止

zen-cart进入第三方支付网站后,如果不能正常返回,则会造成客户已付款但后台却无订单数据的尴尬局面。本文就针对该问题给出一种解决方案,希望对被同样问题困扰的同行有所帮助。

用过zen-cart的人都知道,zen-cart中下单步骤是下面这样的(其中[]中的表示不是必须的):

1. 购物车(shopping cart)

2. [货运方式(delivery method)]

3. 支付方式(payment method)

4. 订单确认(confirmation)

5. [第三方网站支付]

6. 订单处理(checkout process)——这一步比较重要,因为会在这里将购物车中的信息写入订单

7. 下单成功(checkout success)

这样的流程在正常情况下是没有任何问题的。但是,从第5步到第6部的过程中,用户可能以为付款成功就直接关闭掉网页了,或者由于网络原因造成不能正常跳转到checkout_process页面,这样造成的后果是很严重的,因为订单不能被正常的创建。

基于上述的分析, 我们希望稍微地改变一下流程,即在支付之前订单已经创建好了,这样就算在支付时不能从第三方支付网站跳转回来,我们也不会存在用户付款成功却在后台没有订单的情况了。经过修改后的蓝图基本是下面这样的:

1. 在checkour_confirmation页面确认订单后,都会直接proccess,并且进入checkour_success页面,可以在这里进入付款页面。如下图所示:

2. 如果当时客户没能付款,也可进入自己的后台对历史订单进行付款。如下图所示:

下面我们就来看看如何一步一步来实现上述的功能。

1. 首先我们需要对现有的支付模块进行一个改造。需要对支付方式的class增加一个字段paynow_action_url,用来表示进行支付的页面url,另外还需要增加一个函数,paynow_button($order_id),来获取支付表单的参数隐藏域代码。

要增加paynow_action_url字段,请在类payment的构造函数中最后加上下面的代码:

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

function paynow_button($order_id){
if (is_array($this->modules)) {
if (is_object($GLOBALS[$this->selected_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_url,那么确认订单的表单就会直接提交到checkout_process页面了,而paynow_action_url就是以前的form_action_url的值。paynow_button函数的实现也很简单,这里只是将原先的process_button()函数的内容剪切过来而已,只不过我们没有使用全局的$order变量,而是使用$order = new order($order_id),来重新构造的一个对象,这样做是为在历史订单中显示pay now按钮做准备的。

  • 共3页:
  • 上一页
  • 1
  • 2
  • 3
  • 下一页

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/364529.htmlTechArticlezen-cart进入第三方支付网站后,如果不能正常返回,则会造成客户已付款但后台却无订单数据的尴尬局面。本文就针对该问题给出一种解决方...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

钉钉怎么修改群里的个人名称_钉钉修改群里个人名称方法 钉钉怎么修改群里的个人名称_钉钉修改群里个人名称方法 Mar 29, 2024 pm 08:41 PM

1、首先打开钉钉。2、打开群聊,点击右上角的三个点。3、找到我在本群的昵称。4、点击进入即可修改保存。

百度地图打车如何支付   打车的付款步骤介绍 百度地图打车如何支付 打车的付款步骤介绍 Mar 13, 2024 am 10:04 AM

  百度地图APP现在已经都成为了超多用户们首选的出行导航的软件,那么这里的一些功能全面,都能够免费的让大家进行选择操作哦,解决自己日常出行方面会遇到的一些问题,完全都能够查询到自己的一些出行的路线,规划自己的一些出行的方案,查询完对应的这一些路线,都能根据自己的需求,选择合适的一些出行方式,那么你们不管是选择一些公共交通,骑行,步行或者是打车等,都能满足你们的,有着对应的一些导航路线,成功的带领你们去往某地,那么大家选择打车的话,都能感到更加的方便,超多的一些司机们都是会在线接单,打车变得超级

抖音蓝V可以改名字吗?企业抖音蓝V号名称修改步骤有哪些? 抖音蓝V可以改名字吗?企业抖音蓝V号名称修改步骤有哪些? Mar 22, 2024 pm 12:51 PM

抖音蓝V认证是企业或品牌在抖音平台上的官方认证,有助于提升品牌形象和可信度。随着企业发展战略的调整或品牌形象的更新,企业可能希望更改抖音蓝V认证的名字。那么,抖音蓝V可以改名字吗?答案是可以的。本文将详细介绍企业抖音蓝V号名称修改的步骤。一、抖音蓝V可以改名字吗?抖音蓝V账号是可以改名字的。根据抖音官方规定,企业蓝V认证账号在满足一定条件后,可以申请修改账号名称。一般来说,企业需要提供相关的证明材料,如营业执照、组织机构代码证等,以证明修改名称的合法性和必要性。二、企业抖音蓝V号名称修改步骤有哪

怎么开多个头条账号?申请头条号小号的流程是什么? 怎么开多个头条账号?申请头条号小号的流程是什么? Mar 22, 2024 am 11:00 AM

随着移动互联网的普及,今日头条已经成为我国最受欢迎的新闻资讯平台之一。许多用户希望在头条平台上拥有多个账号,以满足不同的需求。那么,如何开多个头条账号呢?本文将详细介绍开设多个头条账号的方法和申请流程。一、怎么开多个头条账号?开设多个头条账号的方法如下:在头条平台上,用户可以通过不同的手机号码注册账号。每个手机号只能注册一个头条账号,这意味着用户可以利用多个手机号注册多个账号。2.邮箱注册:使用不同的邮箱地址注册头条账号。与手机号码注册类似,每个邮箱地址也可以注册一个头条账号。3.第三方账号登录

Win10睡眠时间修改技巧大揭秘 Win10睡眠时间修改技巧大揭秘 Mar 08, 2024 pm 06:39 PM

Win10睡眠时间修改技巧大揭秘作为目前广泛使用的操作系统之一,Windows10拥有睡眠功能,帮助用户在不使用电脑时节省电力并保护屏幕。然而,有时候默认的睡眠时间并不符合用户的需求,因此了解如何修改Win10睡眠时间就显得尤为重要。本文将揭示Win10睡眠时间修改的技巧,让您轻松自定义系统的睡眠设置。一、通过“设置”修改Win10睡眠时间首先,最简单的修

闲鱼怎么修改已发布商品地址位置 闲鱼怎么修改已发布商品地址位置 Mar 28, 2024 pm 03:36 PM

在闲鱼平台发布商品时,用户可以根据实际情况自定义设置宝贝的地理位置信息,这样潜在买家就能更精准地掌握商品的具体所在地。一旦商品成功上架,若卖家的地理位置有所变动,也无需担忧。闲鱼平台特别提供了灵活且便捷的修改功能,那么当我们想要修改已经发布产品的地址究竟该如何修改呢,这篇教程攻略就将为大家带来详细的步骤攻略介绍,希望能帮助到大家!闲鱼怎么修改发布产品地址?1、打开闲鱼,点击我发布的,选择商品,点击编辑。2、点击定位图标,选择需要设置的地址即可。

抖音睡眠主播有收益嘛?睡眠直播的具体流程有哪些? 抖音睡眠主播有收益嘛?睡眠直播的具体流程有哪些? Mar 21, 2024 pm 04:41 PM

在当今这个快节奏的社会,睡眠质量问题困扰着越来越多的人。为了改善用户的睡眠质量,抖音平台上出现了一群特殊的睡眠主播。他们通过直播与用户互动,分享睡眠技巧,提供放松的音乐和声音,帮助观众安然入睡。那么,这些睡眠主播是否有收益呢?本文将围绕这一问题展开探讨。一、抖音睡眠主播有收益嘛?抖音睡眠主播确实能够获得一定的收益。首先,他们可以通过直播间的打赏功能获得礼物和转账,这些收益取决于他们的粉丝数量和观众满意度。其次,抖音平台会根据直播的观看量、点赞量、分享量等数据,给予主播一定的分成。一些睡眠主播还会

谷歌浏览器怎么付款 谷歌浏览器怎么付款 Jul 30, 2024 pm 01:55 PM

谷歌浏览器怎么付款?互联网发展飞速,我们已经能使用谷歌浏览器在网上搜索购物了。但也有小伙伴想知道谷歌浏览器怎么设置付款方式,这样我们就能更快地进行在线付款购物了。下面就为大家介绍谷歌浏览器设置付款方式教程,小伙伴们选择适合自己的付款方式就可以开始网购之旅了。谷歌浏览器设置付款方式教程1、双击打开软件,点击右上角的三个点图标。(如图所示)2、接着点击下方选项列表中的"设置"。(如图所示)3、在打开的窗口界面中,点击左侧栏中的"您与google"选项。(如图所

See all articles