Ruby on rails 如何进行安全的Rails PayPal支付?

Ruby on rails 如何进行安全的Rails PayPal支付?,ruby-on-rails,paypal,Ruby On Rails,Paypal,我使用本指南通过简单的get请求将用户重定向到特殊的PayPal页面 然后,网站将等待贝宝回答在特别钩页,让用户得到他的商品。但PayPal回答只是一个简单的post请求,如何确保这是一个真实的PayPal回答,而不是来自第三方应用程序的具有相同参数的假请求 解决 需要额外的逻辑层。根据文档,当PayPal向我们的钩子处理程序发送post请求时,我们应该将其重新发送到特殊的验证地址 如果它回答为VERIFIED-我们可以在它提到返回url时继续处理请求 当它提到它所说的通知url时 这两者都是

我使用本指南通过简单的get请求将用户重定向到特殊的PayPal页面

然后,网站将等待贝宝回答在特别钩页,让用户得到他的商品。但PayPal回答只是一个简单的post请求,如何确保这是一个真实的PayPal回答,而不是来自第三方应用程序的具有相同参数的假请求

解决

需要额外的逻辑层。根据文档,当PayPal向我们的钩子处理程序发送post请求时,我们应该将其重新发送到特殊的验证地址

如果它回答为VERIFIED-我们可以在它提到返回url时继续处理请求

当它提到它所说的通知url时

这两者都是相似的,因为您将发送一个POST请求回贝宝进行验证。如果数据实际上来自它们,您将得到一个验证结果。否则,它将无效

如果该指南中包含的示例代码不包含此回调,则它不是一个完整的指南,并且缺少拼图中的一个重要部分


以上链接的文档中提供了有关此过程的详细信息。

参数中是否存在仅在您和PayPal之间共享的密钥?我正在尝试查找它的确切值:return-这是我的网站页面,在付款完成后,用户将重定向到该页面。notify_url-我的网站帖子处理程序,PayPal将在其中发送包含此支付成功或因任何原因取消的任何详细信息的帖子请求。当然,他们会把数据发还给我,但是如何检查它的验证呢?我可以发送同样的发帖请求,其他人也可以,如何检查?你读过我的答案吗?我确切地解释了它是如何工作的,我链接的文档提供了技术细节。您从PDT/IPN数据生成一个请求,然后将其发回PayPal进行验证。然后,他们的系统将回复验证或无效。如果您从自己的服务器发送,PayPal在脚本中的验证将无效,您应该相应地构建代码逻辑。谢谢,Drew,您是对的。我错了,因为变量名相似但不精确。不幸的是,指南中完全没有提到这一部分。没有它,任何人都可以回答,我将把这个答案视为真正的贝宝。