ZenCart贝宝Paypal防漏单修改及先生成订单再支付

ZenCart模板默认的下单流程是:

购物车(shopping cart)->[货运方式(shipping method)]->支付方式(payment method)->订单确认(confirmation)->[第三方网站支付]->订单处理(checkout process)->下单成功(checkout success)。

等于需要贝宝Paypal付款成功才能生成订单,那些没有付款或者暂时无法付款的客户就无法生成订单,这个对于站长或者客户都极为不便,那如何解决选择paypal贝宝付款不丢失订单呢?

ZenCart贝宝Paypal防漏单修改解决方法

在支付页面index.php?main_page=checkout_confirmation单击按钮时就能产生订单。

方法是:在zencart主题的根目录includes\templates\当前模板名\templates\tpl_checkout_confirmation_default.php文件的最后面添加代码:

// create the order record 防漏单
if ($_SESSION['payment'] == 'paypal') {
	$insert_id = $order->create($order_totals, 2);
	$zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_ORDER_CREATE');
	$payment_modules->after_order_create($insert_id);
	$zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_PAYMENT_MODULES_AFTER_ORDER_CREATE');

	// store the product info to the order
	$order->create_add_products($insert_id);
	$_SESSION['order_number_created'] = $insert_id;
}

为了避免对其他支付方式产生影响,所以代码做了个判断,只有在ZenCart选择paypal支付的时候才会生成订单,加了这段后就不用担心会漏单了—成功付款后后台就会产生订单,其中前面GS/AK的为防漏单的订单,只有在出现漏单的时候才会查看这些订单,里面的信息跟正常订单相比会少一个交易号,但是至少是可以看到客户信息及所购买了什么产品。

在确认页面,如果顾客一直刷新页面,就会一直生成订单,可以加个限制。

// create the order record 防漏单
if ($_SESSION['payment'] == 'paypal' and !isset($_SESSION['order_number_created'])) {
	$insert_id = $order->create($order_totals, 2);
	$zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_ORDER_CREATE');
	$payment_modules->after_order_create($insert_id);
	$zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_PAYMENT_MODULES_AFTER_ORDER_CREATE');

	// store the product info to the order
	$order->create_add_products($insert_id);
	$_SESSION['order_number_created'] = $insert_id;

	//send email notifications
	$order->send_order_email($insert_id, 2);
	$zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_SEND_ORDER_EMAIL');
}

在pages/checkout_payment/header_php.php任意位置加上unset($_SESSION[‘order_number_created’]);这样,就算顾客在确认页面一直刷新,因为已经设置了$_SESSION[‘order_number_created’],订单不再生成。

如果顾客返回修改了购物车,再次到达checkout_payment时$_SESSION[‘order_number_created’]将被清除。

相关说明:

1、终身VIP会员无限制任意下载,免积分。即前往开通>>

2、下载积分可通过日常 签到 以及 积分兑换 等途径获得!

3、本站资源无解压密码.

4、本站资源大多存储在云盘,如出现链接失效请评论反馈。

5、本站提供的免费源码、模板、软件工具等其他资源,均不包含技术服务,请大家谅解!资源仅供参考学习只用,请勿用于任何商业用途,请支持正版。

6、源码、模板等资源会随着技术、环境的升级而存在部分问题,还请慎重选择。

本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
南方小强 » ZenCart贝宝Paypal防漏单修改及先生成订单再支付

发表评论