[英]ASP.NET posting data to payment service with HttpHandler
我正在嘗試將一些數據發布到支付服務,並通過和HttpHandler
呈現響應。 響應是用戶填寫表格以進行付款。 這是一個Web表單應用程序,因此我不能使用多種表單(我知道您通常可以使用,但是我正在使用的現有代碼使該過程變得很困難。我只有一個鏈接到處理程序,其中包含訂單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; }
}
}
}
明顯的第一個問題是付款頁面的所有資源。 對資源的要求是相對的,因此不會被下載。 是否有一些庫或其他功能可以處理此代理問題,我可以使用某些位置標頭還是類似的標頭? 所有建議都表示贊賞?
最后,我被迫重構標記以允許頁面上有多種形式。 完成后,DIBS api確實非常易於使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.