繁体   English   中英

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

[英]How can I avoid auth and time issues using Paypal's Adaptive Payments API with Ruby?

我在尝试从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'

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

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

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

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

我建议看一下PayPal的Ruby SDK。 Paypal的示例ruby代码虽然有很多错误。 我已经在下面列出了在示例代码工作之前需要进行的更改。 不确定他们是否已修复这些错误。 如果还没有按照以下步骤。

Ruby SDK: https//www.x.com/community/ppx/sdks#ADAPI

您需要做出的更改:

1)进入xxx_controller.rb文件并更改以下行:

@paykey = @response [“payKey”]

至:

@paykey = @response [“payKey”] [0]

2)取出form_tag和(。)在代码中,它们将标记写为<%= form_tag(setpayparallel_path,....

应该是<%= form_tag(setpayparallel_path,....

3)确保所有表单都以<%end%>关闭

到目前为止,我发现SDK似乎是开始自适应支付的好地方

我推荐https://github.com/jpablobr/active_paypal_adaptive_payment - 我尝试使用paypal-adaptive gem没有成功,而APAP工作得很好。 (最终)。

官方Ruby PayPal自适应支付SDK gem https://github.com/paypal/adaptivepayments-sdk-ruby

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM