php - 如何调试 magento 支付网关

标签 php zend-framework magento e-commerce

我只是有点好奇。我可以做些什么来让我的支付网关调试体验更容易一些。在 checkout 时,它总是执行 ajax 调用。所以我无法通过 print_r() 或 echo 来查看进度。有没有一种更简单的方法可以在不破坏任何东西的情况下做到这一点。是否可以禁用 ajax 调用并定期发布。

最佳答案

简短的回答是:这样做是为了进行非破坏性调试。

Mage::log("Logging a message");

下面是长答案。

我没有做过大量的支付网关调试,但是很多支付网关在

中都有“调试”设置
System -> Configuration -> Sales -> Payment Methods

查看 authorize.net 选项组以获得这方面的示例。如果将其翻转到"is"位置,调试信息将开始涌入日志文件。这假设您已在

中打开登录
System -> Configuration -> Advanced -> Developer -> Log Settings

您可能需要自己在

中创建日志文件
var/log/system.log
var/log/exception.log

确保这些文件可由您的网络服务器写入。

你也可以自己用static登录到这些文件

Mage::log("Logging a message");

方法调用。

最后,如果您的支付网关没有调试设置,您可以随时伪造它。所有支付模型(应该)继承自以下类

class Mage_Payment_Model_Method_Abstract
app/code/core/Mage/Payment/Model/Method/Abstract.php

这个类有一个方法来确定调试是打开还是关闭

/**
 * Define if debugging is enabled
 *
 * @return bool
 */
public function getDebugFlag()
{
    return $this->getConfigData('debug');
}

如果没有可用的调试配置标志,您可以暂时将此方法更改为始终返回 true

public function getDebugFlag()
{
    return 1;
    //return $this->getConfigData('debug');
}

但是,我不确定基类进行了多少调试(这意味着如果配置中没有调试标志,那可能是因为支付网关模型本身没有进行调试)。不过值得探索。

祝你好运!

关于php - 如何调试 magento 支付网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4402330/

相关文章:

php - 使用 PHP 编写程序时遇到问题

php - PayPal Rest API 发票 WebHook

php执行多个命令,apache重启

Magento - 分层导航、可配置产品、多个过滤器事件问题

php - 尝试在 Magento 中使用 Cyber​​source 模块时出现 SOAP 错误

PHP - 如何读取 ANSI 转义码 CSI 6n

javascript - Junior Mobile FW - 从 html 加载 View

zend-framework - 在 zend 框架上使用 kohana ORM

php - Zend 表单输入字段彼此相邻

mysql - magento 产品知名度