2011-05-20 64 views
2

我想了解HTTP响应代码的概念,但有一些混淆。网站何时向推荐人发回200 OK?

我有一个网站需要从支付网关付款。客户被重定向到网关站点,然后在支付后网关重定向回到我站点的回叫功能。

这一切工作正常,但问题是,我的网站的回调函数采取响应代码,并将其重定向到成功或失败页面。

支付网关将传回从此发生的“302”重定向标题,并认为存在安全风险,即使它是内部重定向但没有数据被传递(因为302不保留POST/GET无论如何变异)。所以它取消了付款。

但实际上,当网关命中我的回调函数时,不应该发回200,因为它被发现,我认为这将被发回到网关并满足它们。从那时起,内部发生的任何事情都不应该成为他们的担忧或知识。但似乎在达到最终登录页面并停止页面执行之前,不会发送200。

我发现“愚弄”网关的唯一工作是使用JavaScript重定向或元重定向,因为它不传递重定向头代码。但是,有没有更好的方法或我应该采取不同的方式?

+0

“重定向回我的网站的回调函数”绝对没有意义。你能更好地描述这里发生的事情吗?他们是否在客户端会话中单独发布数据?或者这些数据是否会回到您的脚本客户端?告诉我们发生了什么,也许我们可以有更好的帮助。 – Brad 2011-05-20 16:11:59

+0

谁在点击回调函数?支付处理器,还是支付处理器将用户重定向到回叫页面? – Yuliy 2011-05-20 20:13:09

回答

2

简单的答案:不要重定向支付网关返回路径。您需要以不同方式处理您的成功/失败逻辑,并且透明地处理付款处理器。

+0

好吧..这就是问题的要点 – DssTrainer 2011-05-20 14:46:31

+0

@DssTrainer你似乎有意使用某种类型的重定向,我说你不必这样做,那会更好。你问是否有更好的方法或你应该采取不同的方式......问题解决了。 – Fosco 2011-05-20 14:49:58

+0

但这不是一个真正的选择。购物车始终都会重定向。您从网关获得通过/失败消息,您必须完成订单并向客户显示成功页面。如果网关支持“通知网址”和“成功网址”,您可以直接将客户传回成功网址,并将结果代码传回通知网址,并让两个网页在此停止。但是这个网关没有2个url选项。所以我需要从它发送回来的一个url中进行处理。 – DssTrainer 2011-05-20 14:56:14