Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento和Paypal-取消并返回_Magento_Paypal - Fatal编程技术网

Magento和Paypal-取消并返回

Magento和Paypal-取消并返回,magento,paypal,Magento,Paypal,在我的Magento商店中,我启用了一页结帐和Paypal模块。 当一些客户选择Paypal选项作为付款方式并完成订单时,他们将被重定向到Paypal站点(在这里,您可以登录Paypal或以Paypal来宾身份结账,或者取消并返回我的magento商店)。当客户选择最后一个“取消并返回我的magento商店”时,他们将被重定向到标准购物车,而不是我希望的单页结账。 也许有什么建议 谢谢。我现在的驱动器上没有Magento来查看确切的目录结构,但是在PayPal签出模块中,当进行SetExpres

在我的Magento商店中,我启用了一页结帐和Paypal模块。 当一些客户选择Paypal选项作为付款方式并完成订单时,他们将被重定向到Paypal站点(在这里,您可以登录Paypal或以Paypal来宾身份结账,或者取消并返回我的magento商店)。当客户选择最后一个“取消并返回我的magento商店”时,他们将被重定向到标准购物车,而不是我希望的单页结账。 也许有什么建议


谢谢。

我现在的驱动器上没有Magento来查看确切的目录结构,但是在PayPal签出模块中,当进行SetExpressCheckout调用时,他们正在为ReturnURL设置一个值

您需要编写一个模块,用您自己的使用正确URL的SEC请求覆盖他们的SEC请求,或者他们可能已经有了专门生成ReturnURL的方法,因此您可以直接覆盖该方法


您可以创建一些逻辑,根据商户选择的结帐类型生成URL,这似乎是他们的核心模块缺少的内容。

我在app\code\core\Mage\checkout\controllers中找到了这个\

protected function _goBack()
{
    $returnUrl = $this->getRequest()->getParam('return_url');
    if ($returnUrl) {
        // clear layout messages in case of external url redirect
        if ($this->_isUrlInternal($returnUrl)) {
            $this->_getSession()->getMessages(true);
        }
        $this->getResponse()->setRedirect($returnUrl);
    } elseif (!Mage::getStoreConfig('checkout/cart/redirect_to_cart')
        && !$this->getRequest()->getParam('in_cart')
        && $backUrl = $this->_getRefererUrl()
    ) {
        $this->getResponse()->setRedirect($backUrl);
    } else {
        if (($this->getRequest()->getActionName() == 'add') && !$this->getRequest()->getParam('in_cart')) {
            $this->_getSession()->setContinueShoppingUrl($this->_getRefererUrl());
        }
        $this->_redirect('checkout/cart');
    }
    return $this;
}

您想修改此代码以更正URL(checkout/cart/)吗?

我找到了解决方案,希望此解决方案能得到某人的帮助

在app\code\core\Mage\Paypal\Controller\Express\Abstract.php中

第152行。 有重定向代码。 将其更改为以下内容

  $this->_redirect('checkout/onepage/');

这将完成你的工作。

是的,我会先试试。不过,我不会只是修改代码。您需要将此自定义模块设置为您自己的自定义模块,以扩展它们的并重写此函数。