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

今天我有个客户要集成l了paypal账户但在使用是遇到了问题遇到了这个问题。
当我们使用第三方支付工具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付款不成功返回后不要清空购物车产品的解决方案

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

  2. magento模板中XML与phtml关系 [四]

    layout\catalogserch.xml 中声明的 as="topSearch" 被templ\page\html\header.phtml调用输出 echo $this-& ...

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

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

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

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

  5. magento模板 -- 如何安装magento模板

    在magento下面安装模板首先要了解magento的模板结构: 每个magento模板都包含如下的类似结构: --app/design/frontend/default/[模板名称] ------- ...

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

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

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

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

  8. 删除顺序表L中下标为p(0<=p<=length-1)的元素,成功返回1,不成功返回0,并将删除元素的值赋给e

    原创:转载请注明出处. [天勤2-2]删除顺序表L中下标为p(0<=p<=length-1)的元素,成功返回1,不成功返回0,并将删除元素的值赋给e 代码: //删除顺序表L中下标为p(0 ...

  9. Newbe.Claptrap 框架入门,第二步 —— 简单业务,清空购物车

    接上一篇 Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车 ,我们继续要了解一下如何使用 Newbe.Claptrap 框架开发业务.通过本篇阅读,您便可以开始尝试使用 ...

随机推荐

  1. Android开发--Button的应用

    1.Button的创建 Button的创建和TextView类似,包含按钮的ID,宽度,高度,提示(即按钮上的文本内容).

  2. 实验三 敏捷开发与XP实践(改)

    ---恢复内容开始--- 一.敏捷开发与XP 二.编码标准 1.编码标准中的版式就是一个很好的例子,版式虽然不会影响程序的功能,但会影响可读性.程序的版式追求清晰.美观,是程序风格的重要因素.单击Ec ...

  3. [js]多个物体的运动

    与单个的区别:得知道哪个在动,所以运动函数需要两个参数,出了目标iTarget之外,还要obj.另外需要多个计数器,否则当一个还没运动完就移入另一个物体会发生卡壳 window.onload=func ...

  4. CF 241E flights 最短路,重复迭代直到稳定 难度:3

    http://codeforces.com/problemset/problem/241/E 首先检测哪些点会出现在从起点到终点的路上,可以用dfs或者迭代, 然后,对于所有的边,设f为边起点,t为边 ...

  5. hdu 4609 3-idiots

    http://acm.hdu.edu.cn/showproblem.php?pid=4609 FFT  不会 找了个模板 代码: #include <iostream> #include ...

  6. 反质数(Antiprimes)

    转载http://www.cnblogs.com/tiankonguse/archive/2012/07/29/2613877.html 问题描述: 对于任何正整数x,起约数的个数记做g(x).例如g ...

  7. 织梦dedecms分类信息模型上一页下一页失效办法

    修改文件/include/arc.archives.class 将一下代码 $next = (is_array($nextR) ? " where arc.id={$nextR['id']} ...

  8. php头像上传并裁剪支持3个尺寸

    源码下载

  9. 【STL】- vector的用法

    初始化: 1. 默认构造: vector<int> vint; 2. 用包含10个元素的数组初始化: vector<int> vint(ia, ia+10); 算法: 1. v ...

  10. hibernate框架

    在之前的DAO开发中,对关系型数据库进行增删改查都是直接通过sql语句,需要人工的进行对象和表之间的转换.而Hibernate提供了对象和表之间进行映射的框架,使得这种转换更加方便. 1.ORM概念 ...