我正在尝试将一些数据发布到支付服务并通过 and 呈现响应HttpHandler
。响应是用户填写以进行付款的表格。这是一个网络表单应用程序,所以我不能使用多个表单(我知道你一般可以,但我正在处理的现有代码很难。我只有一个链接到带有订单 ID 的处理程序请求参数。
我什至不确定我在这里尝试做的是一个好主意,或者甚至会成功。如果您有更好的想法,请告诉我。这是我到目前为止的代码:
using System.Net;
using System.Text;
using System.Web;
namespace Web
{
public class Begin_invoice : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
var orderNumber = context.Request.QueryString["invoice-numer"];
//todo: get some extra data from local service here
var URI = "https://somepaymetservice/start.action";
var data = new StringBuilder();
data.Append("merchant=" + HttpUtility.UrlEncode("666111") + "&");
data.Append("amount=" + HttpUtility.UrlEncode("1") + "&");
data.Append("lang=" + HttpUtility.UrlEncode("sv") + "&");
data.Append("currency=" + HttpUtility.UrlEncode("752") + "&");
data.Append("orderid=" + HttpUtility.UrlEncode(orderNumber) + "&");
data.Append("accepturl=" + HttpUtility.UrlEncode("http://localhost:50113/Complete-invoice.ashx") + "&");
data.Append("test=" + HttpUtility.UrlEncode("1") + "&");
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
var response = client.UploadString(URI, data.ToString());
context.Response.Write(response);
}
}
public bool IsReusable
{
get { return false; }
}
}
}
显而易见的第一个问题是支付页面的所有资源。资源的 URL 是相对的,因此它们不会被下载。是否有一些库或其他功能可以处理这个代理的东西,我可以使用一些位置标题或类似的东西吗?所有建议都受到赞赏?