我在 Magento 网站上安装 WorldPay 并且我遇到了回调问题:
用户购买产品,填写地址和送货信息,通过 WorldPay 付款,被定向到 WorldPay,输入卡详细信息,然后被退回到网站,但是当我被退回到 /checkout/worldpay/success/ 时需要将它们发送到 /checkout/onepage/success 我可以为此使用 url 重写,但质疑它是否是正确的方法。
任何帮助,将不胜感激。
Magento 默认网址:domain.com/modulename/controllername/actionname
所以可能 worldpay 扩展添加了类似的东西
app/code/community/Mage/Checkout/controllers/WorldpayController.php
或者
app/code/local/Mage/Checkout/controllers/WorldpayController.php
并且此控制器可能有一个名为 successAction() 的操作,并且可能有一个以 404 结尾的重定向
从我在Phonenix Worldpay源中看到的内容来看,处理控制器中有一个成功操作,实际上应该在没有异常发生时将用户重定向到/checkout/onepage/success 。
/**
* Worldpay return action
*/
public function successAction()
{
try {
$session = $this->_getCheckout();
$session->unsWorldpayRealOrderId();
$session->setQuoteId($session->getWorldpayQuoteId(true));
$session->setLastSuccessQuoteId($session->getWorldpaySuccessQuoteId(true));
$this->_redirect('checkout/onepage/success');
return;
} catch (Mage_Core_Exception $e) {
$this->_getCheckout()->addError($e->getMessage());
} catch(Exception $e) {
$this->_debug('Worldpay error: ' . $e->getMessage());
Mage::logException($e);
}
$this->_redirect('checkout/cart');
}
然而,有些人报告了升级后 WorldPay 中的重定向问题。
什么magento版本,你最近升级了吗?system.log 中的任何错误?