我在尝试从 Ruby 访问 Paypal 的自适应支付 API 时遇到了多个问题。
我最初遇到的主要问题是 Paypal 要求其 HTTP 标头全部大写,但 Net::HTTP 不保留 HTTP 标头的大小写(它将它们“小写”存储,然后输出“大写”——所以如果您设置标头“X-PAYPAL-SECURITY-USERID”,它存储为“x-paypal-security-userid”并输出为“X-Paypal-Security-Userid”)。
当我尝试将 API 与这些大小写错误的标头一起使用时,出现“500000 Internal Server”错误。
所以我对 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'
那么,回到我最初的问题:是否有人使用 Ruby 成功访问了自适应支付 API?如果是这样,你的秘密是什么?
我为 ruby 创建了一个 paypal 自适应支付 gem。我在 nextsprocket.com 上成功使用了它
这是一篇关于它的博客文章:http://tommy.chheng.com/index.php/2009/12/paypal-adaptive-ruby-gem-released/ http://tommy.chheng.com/index.php/2009/12/paypal-adaptive-ruby-gem-released/
尝试一下,看看它是否对您有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)