Magento和Paypal - 取消并返回

时间:2012-11-19 22:20:44

标签: magento paypal

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

谢谢。

3 个答案:

答案 0 :(得分:1)

我的驱动器上没有Magento来查看确切的目录结构,但是在PayPal结账模块中,他们在调用SetExpressCheckout时为ReturnURL设置了一个值。

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

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

答案 1 :(得分:1)

我在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;
}

您是否需要修改此代码以更正网址(checkout / cart /)?

答案 2 :(得分:0)

我找到了解决方案,我希望这个解决方案有人可以提供帮助。

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

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

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

这将完成你的工作。