【问题标题】:Debugging ActiveMerchant; need full request and response. How to?调试 ActiveMerchant;需要完整的请求和响应。如何?
【发布时间】:2012-12-06 02:50:02
【问题描述】:

Rails 3.0.10 和 activemerchant gem 1.29.3

我的应用在沙盒中运行良好,但生产模式下的交易失败并显示“安全标头无效”、“ErrorCode”=>“10002”

在检查了所有配置参数一百万次之后,我们向 paypal 发起了一个支持请求,他们认为我们遇到了错误的端点。他们要求对交易进行完整跟踪,包括标头等,所以我试图弄清楚如何做到这一点。我找到了this article

建议将此添加到配置块

ActiveMerchant::Billing::PaypalGateway.wiredump_device = File.new(File.join([Rails.root, "log", "paypal.log"]), "a")

但这只会导致日志为空;什么都没有倾倒它。

那么,如果可能的话,我如何从 GATEWAY 对象中获取此信息?这是生产配置,其格式与 staging env 中使用的格式相同。

::GATEWAY = ActiveMerchant::Billing::PaypalGateway(
      :login => 'me_api1.blah...',
      :password => 'string...',
      :signature => 'longer string...'
    )

谢谢。

【问题讨论】:

    标签: ruby-on-rails-3 paypal activemerchant


    【解决方案1】:

    需要添加如下附加行:

    ActiveMerchant::Billing::PaypalGateway.wiredump_device.sync = true
    

    在环境中的同一配置块内

    【讨论】:

      【解决方案2】:

      在你正在使用的类库中的某个地方应该有一个函数可以为你输出这个(如果它是一个构建良好的库,那就是。)

      即使没有,您也应该能够查看 PaypalGateway 函数,了解它在何处/如何设置端点。它要么对值进行硬编码,要么根据您在类中其他位置配置的某些沙箱选项设置不同的端点。

      如果不查看您正在使用的实际类库,很难告诉您更多信息,但我同意它必须是不正确的凭据或不正确的端点。当它不仅仅是无效的凭据时,我从未见过安全标头错误,这意味着您的值不正确或者您访问了错误的端点。

      如果您想发布整个函数(或者甚至整个库,因为端点可能是从其他函数设置的),我可以查看一下并为您找到问题。

      【讨论】:

      • 并不是这个问题的真正答案,是吗?我同意,应该有某种方式让它输出。这就是我的问题的本质......
      • 是的,当您不提供要查看的实际课程时,这是对问题的回答。向我们展示函数的用法根本没有用。如果您想提供,我很乐意为您找到答案。不过,我很感激尝试提供帮助的否定。下次我看到您提出我可以提供帮助的问题时,我会记住这一点。
      • 这个:ActiveMerchant::Billing::PaypalGateway 是第三方库的一部分... activemerchant gem,在 ruby​​ 中。如果您知道这一点,请使用实际答案更新您的答案。否则,反对票成立。谢谢
      猜你喜欢
      • 2011-12-18
      • 2021-08-13
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      相关资源
      最近更新 更多