2

我正在为一个网站设置一个支付页面,首先完成一个简单的购物车,然后当用户点击“提交”时,我需要将交易数据发布到外部信用卡处理网站,并将用户重定向到那个网站。一旦他们在那里输入了他们的信用卡详细信息,该网站就会重定向回我,无论是批准还是拒绝。

麻烦的是,我在 MVC 界面中看不到任何允许我使用 POST 操作重定向的内容。该Redirect()方法使用 GET(在 3rd 方站点上无论如何都不起作用)。我尝试使用 做一个程序化的帖子WebClient.UploadValues(),然后我从那个字符串中返回,我可以通过返回来呈现给用户Content()- 但是该表单内的链接应该与 CC 处理站点相关,而是被解释为相对于我的网站,这对我来说没什么用。

我该怎么做呢?

4

2 回答 2

5

您不能使用帖子重定向。

但是,您可以这样做:

  • 接收帖子并在上面做事
  • 向用户返回一个视图,其中包含一个填充了包含已处理数据的隐藏字段的表单
  • 使用 javascript 自动提交表单(在您的 CC 提供商上设置发布操作)
  • 用户前往抄送提供商
  • 用户返回您的网站

编辑 - 使用 jQuery,表单 ID 为 ccform 的表单发布,操作设置为 cc 提供者的 URL 和隐藏字段:

$.ready(function() { $('#ccform').submit(); });
于 2012-04-23T19:03:41.247 回答
0

根据您的信用卡处理提供商,机制可能会有所不同。通常,您可以使用带有 URL 参数的 GET,然后他们将使用这些参数来填充会话并重定向到收集信用卡信息的表单,或者更有可能使用他们的 URL 作为结帐页面上的操作这样它就可以直接发布到他们的网站上。检查您的提供商的文档和示例,因为该机制将取决于他们支持的内容。

于 2012-04-23T18:51:20.333 回答