Rails 3.0.10和activemerchant gem 1.29.3
我的应用程序在沙盒中正常工作,但生产模式下的事务失败,“安全标头无效”,“ErrorCode”=>“10002”
我们在审核了所有配置参数一百万次之后发起了支持请求,他们认为我们遇到了错误的端点。他们已经要求对交易进行全面跟踪,包括标题等,所以我试图弄清楚如何做到这一点。我找到了this article
建议将其添加到配置块
ActiveMerchant::Billing::PaypalGateway.wiredump_device = File.new(File.join([Rails.root, "log", "paypal.log"]), "a")
但这只会导致空日志;什么都没有被抛弃。
那么,如果可能的话,如何从GATEWAY对象获取此信息?这是生产配置,其格式与登台环境中使用的格式相同。
::GATEWAY = ActiveMerchant::Billing::PaypalGateway(
:login => 'me_api1.blah...',
:password => 'string...',
:signature => 'longer string...'
)
感谢。
答案 0 :(得分:5)
需要添加额外的行,如下所示:
ActiveMerchant::Billing::PaypalGateway.wiredump_device.sync = true
在环境中的同一个配置块中
答案 1 :(得分:-3)
你正在使用的类库中的某个地方应该有一个函数来为你输出(如果它是一个构建良好的库,那就是。)
即使没有它,你应该能够查看PaypalGateway函数,看看它在何处/如何设置端点。它要么是对值进行硬编码,要么是根据您在类中的其他位置配置的某个沙箱选项设置不同的端点。
如果不查看您正在使用的实际类库,很难告诉您更多信息,但我可以同意它必须是不正确的凭据或不正确的端点。我从来没有见过安全标头错误,因为它不是简单的无效凭据,这意味着您的值不正确或者您正在访问错误的端点。
如果你想发布整个函数(或者甚至是整个库,因为端点可以从其他函数中设置),我可以看看并为你找到问题。