checkout在magento1.7中不起作用

时间:2012-09-17 10:48:26

标签: php magento checkout authorize.net magento-1.7

我在Magento 1.7完成了一个多线圈。结账不在一家商店。单击调用函数Billing Information的{​​{1}}块内的继续按钮后,没有任何操作。我用firebug检查了所有块都正确。我认为问题在于函数onclick="billing.save()"。在哪里可以找到这个功能。

修改

我已在billing.save()的{​​{1}}检查了我的回复,因为有一家商店我正在收到这样的回复

transport.responseText

对于没有像这样工作的商店

billing.save()

我不知道这个元标记来自哪里,当我在{"goto_section":"shipping_method","update_section":{"name":"shipping-method","html":"<dl class=\"sp-methods\">\r\n<p>We are shipping daily until 12.19.2011 although most orders will arrive for the Holidays, we can not guarentee 12.25.2011 delivery (for orders placed after 12.14.2011). <span style=\"color:red;\">We begin shipping again in January - Order Honeybells Now!<\/span><\/p>\r\n <dt>Flat Shipping<\/dt>\r\n <dd>\r\n <ul>\r\n <li>\r\n <span class=\"no-display\"><input name=\"shipping_method\" type=\"radio\" value=\"flatship_flatship\" id=\"s_method_flatship_flatship\" checked=\"checked\" \/><\/span>\r\n <label for=\"s_method_flatship_flatship\">Standard US <span class=\"price\">$12.00<\/span> <\/label>\r\n <\/li>\r\n <\/ul>\r\n <\/dd>\r\n <\/dl>\r\n"},"allow_sections":["shipping"],"duplicateBillingInfo":"true"} 一侧警告<meta name="google-site-verification" content="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" /> {"goto_section":"shipping_method","update_section":{"name":"shipping-method","html":"<dl class=\"sp-methods\">\r\n<p>We are shipping daily until 12.19.2011 although most orders will arrive for the Holidays, we can not guarentee 12.25.2011 delivery (for orders placed after 12.14.2011). <span style=\"color:red;\">We begin shipping again in January - Order Honeybells Now!<\/span><\/p>\r\n <dt>Flat Shipping<\/dt>\r\n <dd>\r\n <ul>\r\n <li>\r\n <span class=\"no-display\"><input name=\"shipping_method\" type=\"radio\" value=\"flatship_flatship\" id=\"s_method_flatship_flatship\" checked=\"checked\" \/><\/span>\r\n <label for=\"s_method_flatship_flatship\">Standard US <span class=\"price\">$43.80<\/span> <\/label>\r\n <\/li>\r\n <\/ul>\r\n <\/dd>\r\n <\/dl>\r\n"},"allow_sections":["shipping"],"duplicateBillingInfo":"true"} 时它未定义...

编辑2

现在元标记问题已经解决了..他们在子域文件夹的index.php中添加了元标记。  现在问题是当我下订单时显示

  

网关错误:(TESTMODE)商家登录ID或密码无效或帐户处于无效状态。

任何人都有任何想法请帮助我。它在另一家商店工作正常。我使用response.update_section.name付款并启用了setStepResponse: function(response){

5 个答案:

答案 0 :(得分:2)

我遇到了一个非常类似的问题

我发现在Magento 1.7.0.2 Onepage checkout上,当我在填写账单详细信息后点击继续按钮时按钮消失,没有其他事情发生。

我尝试过的: 首先调试JS给出了以下错误

Uncaught TypeError: Cannot set property 'disabled' of undefined opcheckout.js:81
Checkout._disableEnableAll opcheckout.js:81
Checkout.setLoadWaiting opcheckout.js:94
Billing.save opcheckout.js:307
onclick

Chrome中出现以下错误

Uncaught TypeError: Cannot read property 'textContent' of null chrome-extension://dhkplhfnhceodhffomolpfigojocbpcb/cs.js:239
babyCS.getSelectedText chrome-extension://dhkplhfnhceodhffomolpfigojocbpcb/cs.js:239
babyCS.saveSelection chrome-extension://dhkplhfnhceodhffomolpfigojocbpcb/cs.js:209
babyCS.click

我还将服务器回滚到我们最后一个订单之前拍摄的图像,即使我们知道这个代码有效(当订单是使用该代码放置的),当我们运行它时,我们也会遇到同样的问题。

所以我们认为这可能是由于配置设置的变化,而不是代码问题。 我们将免费送货(我们唯一的送货方式)的“送货方式”配置从“指定国家/地区”更改为“所有允许的国家/地区”,并修复了问题...大约5分钟!我们在几个地方对它进行了测试并且它有效,所以我们重新打开折扣,这一切都消失了。

为了达到这一步,我可以在Fiddler中看到对

的调用
/checkout/onepage/progress/?toStep=billing

但是,当我点击“继续”按钮转到下一步时,它似乎不会调用/?toStep=shipping

答案 1 :(得分:1)

此功能可在

中找到
skin/frontend/your_package/your_theme/js/optcheckout.js

或者,如果它不在/ your_package / your_theme /和/ your_package / default /中,则它位于/ base / default /

在Magento 1.7中应该在文件的第302行(如果没有修改)。

但我不认为问题存在。您是否在Firebug / Developer Tools中检查了saveBilling的响应?

答案 2 :(得分:1)

我认为错误解释了它自己?你有没有联系过Authorize.net并检查你的测试帐户是否正常工作?

答案 3 :(得分:0)

我在猜你在IE9中遇到问题了吗?结帐只会影响某些IE版本,这是一个已知问题。您可以尝试Chrome或FF,看看问题是否仍然存在?

如果这确实是同一个问题,可以通过强制IE进入IE8mode

来解决这个问题

您可以尝试将此添加到您的htaccess:

BrowserMatch MSIE best-standards-support
Header set X-UA-Compatible IE=8 env=best-standards-support

答案 4 :(得分:0)

关于编辑2:

我认为问题出在您的帐户上。您可以在https://developer.authorize.net/testaccount/下创建另一个测试帐户进行检查 您可以https://test.authorize.net/访问此帐户 尝试在Magento中使用测试帐户,看看它是否有任何问题。

另外,在设置Authorize.net处理实际交易时,请记得使用https://test.authorize.net/gateway/transact.dll网关地址进行测试,并使用https://secure.authorize.net/gateway/transact.dll