Authorize.net结帐方法中缺少付款字段

时间:2013-05-31 01:11:15

标签: magento authorize.net

这是一个非常奇怪的问题。如果我启用Authorize.net付款方式,则HTML中缺少输入CC详细信息的输入字段。这是一个非常开箱即用的安装,只完成了一些主题工作,我没有触及opc模板。

如果我启用了已保存的CC付款方式,则字段会正确显示。

我没有对Magneto中的OOTB Authorize.net文件进行任何更改,甚至尝试禁用我的整个主题,但没有任何影响。


代码截图: http://cl.ly/image/3g1n2x021N2s


在进一步研究之后,模板/ checkout / payments / method.phtml中的这一行看起来没有返回任何HTML: $这 - > getPaymentMethodFormHtml($ _方法)

我找到了这个方法,然后又试图加载一个孩子。

public function getPaymentMethodFormHtml(Mage_Payment_Model_Method_Abstract $method)
{
     return $this->getChildHtml('payment.method.' . $method->getCode());
}

这就是我已经走了多远。

3 个答案:

答案 0 :(得分:2)

我会尝试以下步骤:

  • 检查/var/log/exception.log
  • 下的例外日志
  • 检查您的PHP错误日志
  • 通过重命名主题文件夹来停用当前主题,例如:/app/design/frontend/default/themename>> /app/design/frontend/default/_themename - 这排除了无效主题/布局XML问题的可能性。确保它回退到未触及的基本默认主题!
  • 通过在<active>false</active>下逐一设置的XML中设置/app/etc/modules来停用您的非标准扩展程序。
  • 尝试查看保存的CC开启时是否存在值$method->getCode()的差异&amp;关闭。
  • 如果可能,请更新Authorize.net扩展。如果没有,至少检查您的/app/etc/modules/Mage_Authorizenet.xml是否如下:
<config>
    <modules>
        <Mage_Authorizenet>
            <active>true</active>
            <codePool>core</codePool>
            <depends>
                <Mage_Paygate/>
                <Mage_Sales/>
                <Mage_Checkout/>
            </depends>
        </Mage_Authorizenet>
    </modules>
</config>

答案 1 :(得分:0)

如果找不到任何问题的解决方案,这是一种解决方法。

您可以为authorize.net

创建自己的付款表单

Authorize.net表单使用cc.phtml文件显示Authorize.net字段,以便您可以复制此文件并从xml设置此表单。

转到<checkout_onepage_index translate="label">标记中的checkout.xmland查找checkout.payment.methods,其中显示所有方法,将操作方法​​设置为此类

 <action method="setMethodFormTemplate"><method>authorizenet</method><template>payment/form/authorizenet.phtml(which is copy of your cc.phtml)</template></action>

我没有测试过。

Authorize.net将此块用于显示表单字段,以便您可以进一步查看此文件 应用\代码\核心\法师\付款网关\块\ Authorizenet \表格\ Cc.php

答案 2 :(得分:0)

您还可以检查Magento管理员中是否禁用了Mage_AuthorizenetMage_Paygate模块。

  

系统 - &gt;高级 - &gt;先进

确保在那里启用它们。