问题描述

最近几天运营发现有客户支付完订单之后直接跳转到了/checkout/cart/,通过进一步测试锁定只有非注册用户能够重现该bug。进一步查看得知是从/checkout/cart/重定向到/checkout/onepage/success/的,猜测大概是session的问题。

查看核心代码vendor/magento/module-checkout/Controller/Onepage/Success.php 第18行得知,isValid()为false,导致了重定向bug

$session = $this->getOnepage()->getCheckout();
if (!$this->_objectManager->get(\Magento\Checkout\Model\Session\SuccessValidator::class)->isValid()) {return $this->resultRedirectFactory->create()->setPath('checkout/cart');
}
$session->clearQuote();

继续查看vendor/magento/module-checkout/Model/Session/SuccessValidator.php 30行,依次将两个return false注释分别测试锁定真正原因发现$this->checkoutSession->getLastSuccessQuoteId()为空

/*** @return bool*/
public function isValid()
{if (!$this->checkoutSession->getLastSuccessQuoteId()) {return false;}if (!$this->checkoutSession->getLastQuoteId() || !$this->checkoutSession->getLastOrderId()) {return false;}return true;
}

解决

暂时将$this->checkoutSession->getLastSuccessQuoteId()的return false注释掉,基本不影响使用,magento stackexchange上有人提出是由于插件覆盖了order类导致订单没被捕获,抽空再看。

未完待续。

【magento2】订单成功支付后重定向到购物车相关推荐

  1. Magento:Paypal付款不成功返回后不要清空购物车产品的解决方案

    经常遇到这个问题,当我们使用第三方支付工具Gateway如paypal支付的时候,如果用户付款不成功或者取消了订单再返回网站时,发现购物车里面的产品已经被清空了,如果是客户主动cancel的还好,但是 ...

  2. web day25 web day24 小项目练习图书商城, 购物车模块,订单模块,支付(易宝支付)

    购物车模块 购物车存储: 保存在session中(本次使用的) 保存在cookie中 保存在数据库中 购物车相关类 购物车结构 CartItem:包含图书和数量,小计 Cart:包含一个Map< ...

  3. 云炬Android开发笔记 13购物车,订单,支付功能开发(包含支付宝支付和微信支付)

    阅读目录 1.购物车UI编写 1.1 购物车布局  1.2 recycleView中的item的布局 2. 购物车数据结构分析.解析与转化 2.1 解析的数据 2.2 数据的转化 2.3 数据适配器的 ...

  4. 支付后但是显示未支付,再次支付如果又支付成功了怎么办? 后端代码逻辑是什么?【杭州多测师_王sir】【杭州多测师】...

    什么是掉单? 所谓的掉单,就是用户下单支付,在钱包里完成了支付,结果回到电商APP一看,订单还是未支付-- 毫无疑问,用户肯定会炸,结果不是投诉,就是差评. 用户感觉受到了欺诈 那么掉单是怎么来的呢? ...

  5. php订单系统 帝国cms,帝国CMS商城系统在线支付后,订单邮件提醒

    帝国CMS是个强大的内容办理系统.其商城的功能也很强大 当用户下单.支付后我们如何知道有用户下单了呢?因为我们不克不及不时刻刻都在网站后台.不竭的刷新页面去看有无订单.最常用的做法是用邮件提醒我们.有 ...

  6. 解决阿里云存在未支付订单请支付或作废后再下单

    阿里云服务器或其他云资源无法立即购买,提示"您选择的资源存在未支付订单,请支付或作废后再下单!"什么原因?这是由于你的阿里云账号之前已经创建了该订单,只是订单没有支付,所以无法再次 ...

  7. Spring Boot Security + Vue 登录成功后重定向无 Access-Control-Allow-Origin 问题解决办法

    需要明确: 已正确配置跨域资源共享(CORS)(不然也不可能看到登录成功了). 已正确配置了跨站请求伪造(CSRF)(登录时需要携带 _csrf.token). 全部使用 POST 提交的数据. 本文 ...

  8. java实现订单未支付失效_未支付订单30分钟后,自动取消

    未支付订单30分钟后,自动取消 生成订单时发起延时30分钟的任务 /** * 取消订单的任务 * @Title: startCancelOrderTask * @Description: 取消订单的任 ...

  9. Magento支付宝手机网站支付插件V6.0旗舰版发布,支持在微信中使用支付宝支付,订单重新支付功能!...

    2019独角兽企业重金招聘Python工程师标准>>> 功能 严格按照支付宝接口文档编写代码. 支付宝异步通知机制,确保订单状态及时更新,无丢失遗漏. 订单完美对接:支付后即使关掉支 ...

最新文章

  1. R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况
  2. 阿里云“华北5”落地内蒙古,AI数据大战一触即发
  3. mysql数据库as表恢复_使用flashback database找回被误删除表空间
  4. IntelliJ中的main函数、for循环、System.out.println()快捷键
  5. 解决Eclipse中无法查看Java源码
  6. 随机验证码。 * 随机生成十组六位字符组成的验证码。 * 验证码由大小写字母、数字字符组成。
  7. matlab调用cst计算扫频,CST MWS I算法求解单站RCS是否可以进行扫频设置
  8. 一个磁性窗体VCL组件的具体实现
  9. iOS 提交app到iTunes Connect预览截图截取方法及尺寸大小
  10. ASEMI低压差线性稳压器AMS1117详解
  11. 使用mapboxgl 实现特定的地图效果
  12. 网络冗余——PRP协议
  13. 关于严蔚敏教授的数据结构一书中return ok ,OK为1不为0的问题
  14. ACwing 149. 荷马史诗
  15. java 工具类_16 个有用的的Java工具类(小结)
  16. 计算机无法还原,win7旗舰版系统无法创建系统还原点 无法还原怎么办
  17. python宿舍管理系统!
  18. excel录制宏运行规划求解不能运行的问题
  19. Cocos Creator 3.0 教程! 标志板! Billboard !
  20. GIS应用技巧之环形地图制作

热门文章

  1. 美国留学 报计算机被数学录取,美国留学数学研究生申请条件介绍
  2. 666,太香了!Python 50 个正则表达式写法,建议收藏
  3. 苹果cms V10采集插件安装教程
  4. 无人机拉力测试台校准之ASTM标准
  5. 腾讯QQ/TM珊瑚虫增强包 2007 Beta3 v5.0.2
  6. php拦截登录页面跳转页面,PHP未登录自动跳转到登录页面
  7. 沁恒USB转串口主要替换FT232/230系列
  8. pyspider all 只启动了_【麦芽口腔】全民爱牙月正式启动!
  9. 论文阅读:multimodal remote sensing survey 遥感多模态综述
  10. Python3用requests实现京东手机信息的爬取