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

通过下面这个方法可以解决这个问题,Magento通常的方法是如果判定为第三方的gateway 作为支付工具的话直接save quote
 
$this->getOnepage()->getQuote()->save();
我们的应对方法是,判定如果页面转向第三方支付gateway 如 paypal则不保存
quote,这样就不会清空shopping cart
app/code/core/Mage/Checkout/controllers/OnepageController.php 
 
找到这段代码
 
$this->getOnepage()->getQuote()->save();
   
   
   
    if (isset($redirectUrl))
{
   
     
  $result['redirect'] = $redirectUrl;
   
    }
 
改成
 
//$this->getOnepage()->getQuote()->save();
   
   
   
    if (isset($redirectUrl))
{
   
     
  $result['redirect'] = $redirectUrl;
   
    }
   
    else {
   
     
 
$this->getOnepage()->getQuote()->save();
   
    }
 
替换原来的文件即可

Magento:Paypal付款不成功返回后不要清空购物车产品的解决方案的更多相关文章

  1. Magento模板Paypal付款不成功返回清空购物车产品【解决方案】

    Magento模板Paypal付款不成功返回清空购物车产品[解决方案] 今天我有个客户要集成l了paypal账户但在使用是遇到了问题遇到了这个问题. 当我们使用第三方支付工具Gateway如paypa ...

  2. 多个网络请求成功返回再执行另外任务的思路分析(iOS)

    前言 今天我们来讨论一个经常出现的需求场景,也是一个老话题.在开发中我们往往会遇到需要进行多个网络请求,并且需要多个网络请求成功返回后再做其他事的场景.比如同一个界面显示的内容需要用到两个网络接口,而 ...

  3. Magento 2.2.5和2.2.6的bug 产品设置special price又删除后价格排序有误

    Magento 2.2.5和2.2.6的bug 产品设置special price又删除后价格排序有误 一.问题描述:版本2.2.5和2.2.6均有此问题,为Magento2的系统bug.为产品设置s ...

  4. SpringSecurity兑现多登录成功页面和登录成功返回被拦截界面

    SpringSecurity实现多登录成功页面和登录成功返回被拦截界面 使用SrpingSceurity作为认证和授权的安全框架可以省下很多基础工作. 具体可以参考SpringSecurity,这里不 ...

  5. 终于研究出如何设置新版paypal付款时汇率损失方的问题了

    http://bbs.55haitao.com/thread-1686005-1-1.html 终于研究出如何设置新版paypal付款时汇率损失方的问题了 登录paypal后,选"设置&qu ...

  6. 【解决方法】magento paypal快速结账 不跳转

    magento paypal Express Checkout(快速结账) 页面不跳转到Paypal的解放方法 我使用的magento 1.9.0.1 版本的,Paypal 快速结账都已经设置完毕,但 ...

  7. Spring 通过XML配置文件以及通过注解形式来AOP 来实现前置,环绕,异常通知,返回后通知,后通知

    本节主要内容: 一.Spring 通过XML配置文件形式来AOP 来实现前置,环绕,异常通知     1. Spring AOP  前置通知 XML配置使用案例     2. Spring AOP   ...

  8. Updatepanel 后端返回后,在 Updatepanel 内控件的前端 js 失效问题

    实际情况:点击下箭头弹出列表,点击列表上的隐藏按钮隐藏列表. 背景:模块没有使用Js或者Jquery的Ajax功能,而是使用Asp.Net的Ajax控件--UpdatePanel + ScriptMa ...

  9. vue watch 监听element upload组件上传成功返回的url列表

    因为 on-success 上传成功返回的是一个异步的结果....如果父组件需要这个结果的话 必须用watch 监听 然后里面建立一个 save()方法 save方法里面再调用接口 传需要的上传之后的 ...

随机推荐

  1. java二维数组简单初步理解

    二维数组 二维数组本质上是以数组作为数组元素的数组,即“数组的数组”. int[][] arr = {{1, 2, 3}, {4, 5, 6}}; System.out.println(arr[0][ ...

  2. Hadoop 添加删除数据节点(datanode)

    前提条件: 添加机器安装jdk等,最好把环境都搞成一样,示例可做相应改动 实现目的: 在hadoop集群中添加一个新增数据节点. 1. 创建目录和用户  mkdir -p /app/hadoop gr ...

  3. Snappy压缩

    Snappy压缩时,碰到不能解压问题,所用服务器Tomcat8.经验证,降低Tomcat版本为7,才可正常解压文件. 若碰到偶尔不能解压的问题,试着换个浏览器试试.

  4. XHR——XMLHttpRequest对象

    创建XMLHttpRequest对象 与之前众多DOM操作一样,创建XHR对象也具有兼容性问题:IE6及之前的版本使用ActiveXObject,IE7之后及其它浏览器使用XMLHttpRequest ...

  5. web开发常用的js验证,利用正则表达式验证邮箱、手机、身份证等输入

    正则表达式验证 //邮箱 \-])+\.)+([a-zA-Z0-]{,})+$/; email = document.getElementById("email").value; ...

  6. soap base64 调用

      xsd__base64Binary data;     data.__ptr = (unsigned char*) soap_malloc(_soapProxy,picLen);     data ...

  7. Js练习题之字符串转驼峰

    如border-bottom-color =>borderBottomColor 传传统方法 分析: 1.转大写,需要用到字符串的toUpperCase()方法 2.去掉-,需要用到字符串方法s ...

  8. 从报错“无效操作,连接被关闭”探究Transaction的Timeout超时机制

    1.报错如下:Invalid Operation the connection is closed,无效操作,连接被关闭.这个错误是并不是每次都报,只有在复杂操作.大事务的情况下才偶然报出来. sta ...

  9. Xcode6.2创建Empty Application

    运行Xcode 6,创建一个Single View Application工程.   创建好后,把工程目录下的Main.storyboard和LaunchScreen.xib删除,扔进废纸篓.   打 ...

  10. 从github上面拷贝源码

    http://www.cnblogs.com/xing901022/p/4287064.html