IPN模拟器检查始终返回INVALID

时间:2016-06-21 16:32:55

标签: ruby paypal sinatra paypal-ipn paypal-sandbox

我试图帮助一位朋友(Grails程序员)在使用IPN模拟器测试Paypal IPN监听器时遇到问题:他总是对帖子进行无效响应。 所以我使用Sinatra和http gem写了一个Ruby版本的监听器,但我也遇到了困难。

这是Sinatra服务器的一小段代码:

require 'sinatra'
require 'http'

post '/' do
  request.body.rewind
  response = HTTP.post("https://ipnpb.sandbox.paypal.com/cgi-bin/webscr", body: "cmd=_notify-validate&#{request.body.read}")
  logger.info "response word: #{response.to_s}" # INVALID
  logger.info "response code: #{response.code}" # 200
end

我使用ngrok运行了一个隧道到localhost(Sinatra app正在监听的地方)。 该应用程序从Paypal IPN simulator正确接收POST,添加所需的对cmd=_notify-validate,返回POST。但是响应始终是"无效"。

我试图在Heroku上运行代码但是徒劳无功。

有什么想法吗? 感谢

0 个答案:

没有答案