【问题标题】:magento custom payment method redirectmagento 自定义付款方式重定向
【发布时间】:2013-09-04 15:51:06
【问题描述】:

我正在尝试构建自定义付款方式。它应该像贝宝一样工作,当用户点击“下订单”时,它应该将他重定向到外部网关。诀窍是它必须发送 POST 数据。

为了创建模块,我遵循了严格的教程,但主要是这个Incho

型号/标准.php

   public function getOrderPlaceRedirectUrl()
   {
    Mage::Log('Called ' . __METHOD__);
    return Mage::getUrl('payment/Standard/Redirect', array('_secure' => true));
   }

点击程序后,它会将我重定向到

> http://192.168.0.15/magento/index.php/payment/Standard/Redirect

我得到 404 错误。在日志文件中,我可以看到它使用了 getOrderPlaceRedirectUrl 方法,但它没有到达 redirectAction。谁能帮我解决这个问题,我是magento的新手。

控制器/StandardController.php

 public function redirectAction()
{       
 Mage::Log('Called ' . __METHOD__);
//do something
}

块/标准/重定向.php

protected function _toHtml()
{
Mage::Log('Called ' . __METHOD__);
    //do POST
}

【问题讨论】:

  • 您是否为 url 创建了所需的控制器?在您的教程中,它显示“如果您的方法在客户单击结帐按钮下订单时重定向,您必须使用方法 redirectAction 等创建(自定义卡/标准/重定向)标准控制器。”
  • 嗨!我在 Controller 文件夹中创建了 StandardController.php
  • 请显示您在 config.xml 中的注册方式。确保添加后清除缓存。
  • 我没有明确注册控制器。我在 paypal config 上看了,我没有发现任何类似的东西。我应该注册控制器吗?如何注册?
  • 我没有为块创建 phtml,这可能是个问题吗?

标签: php magento redirect paypal payment-gateway


【解决方案1】:

Phtml 文件不应该是这里的问题。在教程中,控制器是这样注册的:

   <frontend>
        <routers>
            <mycheckout>
                <use>standard</use>
                <args>
                    <module>Inchoo_Mycheckout</module>
                    <frontname>customcard</frontname>
                </args>
            </mycheckout>
        </routers>
    </frontend>

同时将'customcard/standard/redirect' 设为小写。如果您需要进一步的支持并更改模块和类名,请将它们添加到您的问题中。

【讨论】:

  • 不完全是这样,但它与命名空间有关。对于所有有同样问题的人,请特别注意命名空间,尤其是小写或大写字符。
猜你喜欢
  • 1970-01-01
  • 2014-08-26
  • 1970-01-01
  • 2019-09-11
  • 2012-05-13
  • 2012-02-29
  • 1970-01-01
  • 2011-06-29
  • 2017-04-27
相关资源
最近更新 更多