如何使用Paypal的自适应支付API与Ruby避免身份验证和时间问题?

emh*_*emh 3 ruby api paypal

我在尝试从Ruby访问Paypal的Adaptive Payment API时遇到了多个问题.

我最初遇到的主要问题是,Paypal要求他们的HTTP标头全部为大写,但Net :: HTTP不保留HTTP标头的情况(它将它们存储为'downcased'然后输出'大写' - 所以如果您设置标题'X-PAYPAL-SECURITY-USERID',它存储为'x-paypal-security-userid'并输出为'X-Paypal-Security-Userid').

当我尝试将API与这些错误的标头一起使用时,我收到"500000内部服务器"错误.

所以我monkeypatched Net :: HTTP来保留标题的情况.但现在我得到超时异常:

Timeout::Error (execution expired):
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:60:in `rbuf_fill'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/protocol.rb:104:in `read_all'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2220:in `read_body_0'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2173:in `read_body'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2198:in `body'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2137:in `reading_body'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:1052:in `request'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:543:in `start'
Run Code Online (Sandbox Code Playgroud)

那么,回到我原来的问题:是否有人使用Ruby成功访问自适应支付API?如果是这样,你的秘密是什么?

tom*_*eng 6

我为ruby创建了一个paypal自适应支付宝石.我在nextsprocket.com成功使用它

这是一篇关于它的博客文章:http://tommy.chheng.com/index.php/2009/12/paypal-adaptive-ruby-gem-released/

试一试,看看它是否会对你有所帮助.