【发布时间】:2010-12-24 09:12:52
【问题描述】:
你好!我正在集成 Paypal 的 IPN 系统,他们的身份验证过程要求我的服务器响应 Paypal 请求,并使用 POST 到 Paypal 的参数与 Paypal 发送给我的参数完全相同(尽管带有附加字符串)。因此,我已将 params 哈希转换为字符串(格式正确)并将其发回,但看起来生成的字符串与原始 POST 参数的顺序不同(导致没有身份验证)。
任何人都知道我如何自己访问实际的 POST 参数(而不是 params 哈希),以便我可以复制它并将其发送回 Paypal?需要注意的是,我发送到 Paypal 的参数顺序需要与访问我的服务器的请求完全相同。
这有意义吗?有什么想法吗?提前致谢!
--贾里德
【问题讨论】:
-
您是如何获得带有附加字符串的 POST 参数的?请发布您收到的完整参数(当然,敏感值是红色的)
-
嘿 Zabba,Brett 在下面的回答解决了我的问题,但只是为了回答您的问题:我的问题是在 ActionController 将 POST 数据转换为参数之前访问实际 POST 数据本身的方法之后哈希。一旦我可以访问该数据,在我的控制器中,我将 POST 数据作为一个字符串(使用 request.raw_post)并附加一个 Paypal 需要验证的字符串,然后将所有这些在 POST URI 中发送到 Paypal。够迷惑吗?祝大家新年快乐。
标签: ruby-on-rails ruby authentication paypal-ipn