【问题标题】:ASP.NET handle a POST from Sage PayASP.NET 处理来自 Sage Pay 的 POST
【发布时间】:2012-11-07 16:44:11
【问题描述】:

我正在编写一个 asp.net Web 应用程序来与 sage pay 对话,并通过他们的服务器到服务器方法进行支付。目前我的网站收集用户详细信息,然后向他们的服务器发送交易注册 HttpRequest。然后他们的服务器用一些细节和重定向链接响应我的请求。我检查了响应对象,然后重定向到他们的付款页面,可以在其中输入用户付款详细信息(卡号等)。用户点击确认后,sage 将向我选择的 url 发送一个 POST,然后我可以处理并告诉他们是否继续交易。

我的目标是从他们那里接收 POST,检查内容并做出相应的回应。然后,我必须将它们作为我的成功或失败 url 的一部分,他们的网站也会在交易完成后发送给用户。如果我先发送请求,那会很容易,但我不是。他们只需要一个地址来发送响应,然后我必须处理它。

我的问题是这样的。如何在我的 Web 应用程序中处理 HttpRequest(我假设这将是什么?)?

我可以通过告诉他们响应通用处理程序来做到这一点吗?如果我要给他们我的通用处理程序的 url,我可以在那里处理 POST 然后回复他们吗?

【问题讨论】:

    标签: c# asp.net generic-handler opayo


    【解决方案1】:

    我可以通过告诉他们响应通用处理程序来做到这一点吗?如果我 是给他们我的通用处理程序的 url 我可以处理吗 在那里发帖然后回复他们?

    通用处理程序将起作用。可以通过context.Request.Params处理请求参数

    例子:

    public class Handler : IHttpHandler {
    
        public void ProcessRequest (HttpContext context) {
    
        string someparamreturned = context.Request.Params["somekey"];
        //etc.. do something
        }
    
        public bool IsReusable {
        get {
            return false;
        }
    
    }
    

    你真的不需要一个完整的页面来处理这个。

    【讨论】:

    • 谢谢。我的情况是我的初始页面将加载到 winforms 应用程序的 webbrowser 控件中。然后,我的页面会在加载时自动将 HTTPRequest 发送到 Sage。接下来我重定向到 sages 自己的页面。这部分意味着我首先需要整页。之后,我的处理程序(我希望)将能够接收 POST 并处理它。然后它应该响应 Sage,然后 Sage 将执行最终重定向回我的另一个页面。在您的示例中,Params 集合是否包含 sage 在他们的 POST 中传递给我的每个参数?
    • @CSharpened In your example does the Params collection hold each param passed to me by sage in their POST? 是的,绝对是。我理解您所解释的情况,因为这与 Paypal 和 Google Wallet HTML API 的工作方式非常相似,而我目前正在做一些非常相似的事情。
    • 非常感谢伊卡洛斯的信息。我已经为 ajax 等使用了很多通用处理程序,但对于 HTTPRequests 等并没有真正使用,因此不确定它们的能力。 Google 没有提供太多帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多