【问题标题】:How to debug magento payment gateways如何调试 magento 支付网关
【发布时间】:2010-12-09 19:37:49
【问题描述】:

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

【问题讨论】:

    标签: php zend-framework magento e-commerce


    【解决方案1】:

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

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

    下面是长答案。

    我还没有做过大量的支付网关调试,但是很多支付网关都有“调试”设置

    System -> Configuration -> Sales -> Payment Methods
    

    查看 authorize.net 选项组以获取此示例。如果将其翻转到“是”位置,调试信息将开始涌入日志文件。这假设您已在

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

    您可能需要自己创建日志文件

    var/log/system.log
    var/log/exception.log
    

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

    您也可以使用静态文件自己登录到这些文件

    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');
    }
    

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

    祝你好运!

    【讨论】:

    • 我过去曾用 authorize.net 尝试过,但我只得到了服务器之间发送的 XML 事务。它没有我希望的那么有用。
    • +1 以获得良好的信息发条,但您还希望在日志中看到什么?
    • 我想知道它正在与之通信的 URL,以及它在做什么。我很感激还有其他方法可以找出这些,所以还不错。
    • 虽然 print_r 一切都很好,但我建议在您的站点和 Ide 之间进行 xdebug 会话,您是否会了解每个方法调用和参数的概述
    【解决方案2】:

    对于 AJAX,您可能会发现 FirePHP for Magento 很有帮助。

    对于所有情况,您都可以使用Mage::log(),只要您记得先在系统>配置>开发人员中打开它。它的工作原理很像print_r,只是它输出到/var/log/system.log

    我经常tailf那个文件并且在很多地方都有这样的代码:

    Mage::log(__METHOD__); // prints My_Module_Model_Class::method
    Mage::log($object->debug()); // $object is any model or block descending from Varien_Object
    

    【讨论】:

    • 对于 ajax 你应该使用 fiddler,对于内部 http 请求你应该使用日志记录
    猜你喜欢
    • 2013-12-07
    • 2014-08-22
    • 2015-05-24
    • 2011-09-08
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 2017-10-02
    相关资源
    最近更新 更多