Ruby on rails Rails数据回调发布

Ruby on rails Rails数据回调发布,ruby-on-rails,post,callback,request,Ruby On Rails,Post,Callback,Request,作为我的rails应用程序的一部分,用户可以向我们的慈善机构捐款。我只需将用户链接到支付处理公司网站上的外部表单,并在参数中使用我们的唯一ID。一旦事务成功,它将重定向回我的应用程序上的URL 作为这一过程的一部分,填写在表格上的信息、电子邮件地址、捐款金额等都应该发回我网站上的URL。该信息将作为表单post发回。我已将URL的路由设置为post请求。我目前正在查看标题,但看不到信息,到目前为止,我已尝试: <%= params %> <%= request.POST %&g

作为我的rails应用程序的一部分,用户可以向我们的慈善机构捐款。我只需将用户链接到支付处理公司网站上的外部表单,并在参数中使用我们的唯一ID。一旦事务成功,它将重定向回我的应用程序上的URL

作为这一过程的一部分,填写在表格上的信息、电子邮件地址、捐款金额等都应该发回我网站上的URL。该信息将作为表单post发回。我已将URL的路由设置为post请求。我目前正在查看标题,但看不到信息,到目前为止,我已尝试:

<%= params %>
<%= request.POST %>
<%= request.headers %>
<%= request.env["HTTP_ACCEPT"] %>
<%= request.env["HTTP_HOST"] %>
<%= request.env["HTTP_USER_AGENT"] %>
我现在如何访问这些信息?与我的朋友交谈时,他说信息应该在HTTP头中,但我不确定我应该做什么才能查看它。我需要检查事务是否成功,该事务应返回值为Y/N的“transStatus”

感谢您的帮助,抱歉,我是新手

谢谢


Lee

如果信息被发回应用程序,您应该能够通过Rails参数散列访问它们,如中所示

params[:transStatus]
等等。在回调操作中,尝试检查params散列并查看其包含的内容

如果您想直接处理原始post数据,可以使用方法

编辑:如果您想访问请求的标题,可以改为使用方法。它只是提供了一个具有所有请求头的类似散列的结构。您可以随意检查、迭代和访问所需的内容

作为一个具体的例子,假设您期望的头是“transStatus”,您可以在回调操作控制器杠杆中执行类似的操作:

success = (request.headers['transStatus'] == 'Y') ? true : false

if success
  # transaction succeeded - success path here...
else
  # failure path
end

如果您不确定它是否为transStatus,那么您必须咨询外部服务的API,询问其开发人员,或者通过检查您收到的头和参数来自己调试它。

没有transStatus参数。Doing将输出所有参数,我只能看到控制器和操作。不过,我还是单独尝试过,还是一无所获。我需要从HTTP头中获取信息,我猜是这样的,但不确定要使用什么代码来获取这些信息。有关原始post方法的任何进一步帮助?请在控制器操作中尝试p params.inspect,以确保您需要的信息不存在。我将更新我的答案,以涵盖如何访问请求的标题。感谢您更新答案。我意识到这是我需要使用的代码。也许我的问题措词不正确。我的问题是:回调数据将发布到哪里?/我怎样才能访问这个?/它会在HTTP头中吗?/它是否是某个地方的环境变量/是否是我必须访问的日志文件?显然,这与paypal进行数据回调的方式类似。我在这方面一点经验都没有,所以我不知道你在问题中提到数据将被发回你的应用程序。我假设您可以在您使用的这个提供程序中定义自定义回调URL。然后创建相应的路由、控制器和操作,在此操作中,您可以访问我在回答中描述的发布数据。这是一个异步过程,您不知道数据何时会发回给您-这是来自第三方的回调。您的操作应该实现数据发布一次/何时发生的业务逻辑。