MAGENTO自动关闭未付款的订单
来源:互联网 发布:java变量的定义是什么 编辑:程序博客网 时间:2024/05/01 10:07
出于某些原因,如及时恢复网站的产品库存或者其他原因。我们经常需要取消一些用户下单后一直处于“等待付款”状态的订单。今天这篇文章,我们就来看一下,magento网站如何设置自动关闭未付款订单。
我们首先创建一个“Magease_Order_Model_Observer”Observer类,并且声明cancelPendingPaymentOrders()方法。
我们创建Magease_Order_Model_Observer,并且添加public function cancelPendingpaymentOrders()方法。我们通过调用cron脚本来完成我们想要实现的目的。详细请看config.xml文件。
这个方法中,我们首先筛选出网站等待付款的并且距离下单超过90分钟的订单,为了一次性完成,我们控制这个订单数量在10个以内。
这时我们需要为订单创建一个新的订单状态(status),“pendingpayment_canceled”,我们将所有的因为顾客未支付而关闭的订单都设置一个“待支付-关闭”(pendingpayment_canceled)的状态。
class Magease_Order_Model_Observer{public function cancelPendingpaymentOrders(){$orderCollection = Mage::getResourceModel('sales/order_collection');$orderCollection->addFieldToFilter('status', 'pending_payment')->addFieldToFilter('created_at', array('lt' => new Zend_Db_Expr("DATE_ADD('".now()."', INTERVAL -'90:00' HOUR_MINUTE)")))->getSelect() ->order('e.entity_id') ->limit(10);$orders ="";foreach($orderCollection->getItems() as $order){$orderModel = Mage::getModel('sales/order');$orderModel->load($order['entity_id']);if(!$orderModel->canCancel())continue;$orderModel->cancel();$orderModel->setStatus('canceled_pendings');$orderModel->save();} }}
下面我们通过计划任务来设置网站每5分钟执行一次订单清理任务。
<config><crontab> <jobs> <order_cancel_orders> <schedule><cron_expr>*/5 * * * *</cron_expr></schedule> <run><model>order/observer::cancelPendingpaymentOrders</model></run> </order_cancel_orders> </crontab></config>
好了,这就ok了。
0 0
- MAGENTO自动关闭未付款的订单
- 如何实现下订单后一个小时后未付款的订单自动取消
- Quartz学习之实现关闭超时2天未付款的订单
- 使用Java 中Timer定时器设置订单提交后24小时未付款订单状态为已关闭。
- 【Quartz】——利用Quartz处理超时未付款的订单
- 自动关闭订单
- 未清采购订单关闭最全的方法
- 未清采购订单关闭最全的方法
- 订单超时未付款及时删除(伪),一种解决方案
- Spring+quartz定时删除已过期未付款订单信息
- Magento付款流程的简化【7】
- magento shell 脚本 通过api获取paypal的订单状态,同步到magento网站的订单,自动纠正不准确的订单状态
- ecshop 二次开发 订单模块流程分析和修改,修改确认后未付款可以取消订单
- 未清销售订单强制关闭尝试
- 今晚某宝下单后,刚要付款(未付款成功)就提示交易关闭, 这是什么原因?
- 采购订单付款清单
- 采购订单付款清单
- magento设置paypal付款
- Java EE中jsp中文乱码问题
- 用定时器实现led闪烁(间隔1s)
- 【华为OJ】【020-简单密码】
- Python标准库:内置函数eval(expression, globals=None, locals=None)
- python str和repr的区别
- MAGENTO自动关闭未付款的订单
- magento模板仿制实战(一)
- 职场怪物品鉴录——北漂18年(54)
- 数据结构与算法:C++实现选择排序
- MAGENTO 后台模块开发一
- 陶哲轩实分析-第2章-从头开始:自然数
- 同样的错误不能犯两次(十):转移话题要察觉
- 解密SparkStreaming运行机制和架构(第二篇)
- java Filter__五个有用的过滤器(三)