我正在使用支付网关,它会将响应发送到“成功”页面。他们的文档表明他们正在发送响应作为POST参数。我试图读取这些参数,但我无法获取参数。我发送了一封邮件给支持,他们说他们会在重定向到成功页面之前将数据从服务器发送到我们的服务器。我在成功页面中实现了我的代码。我应该在哪里实现,以及如何在我的代码中保存这些值以供进一步使用。
我的代码在这里
protected void Page_Load(object sender, EventArgs e)
{
/// store all the posted form variables in an object to use later
response notifyresponse = new response();
notifyresponse.CreditVouchersTransactionId = Request["CreditVouchersTransactionId"];
notifyresponse.MerchantName = GetFormVariableOrNull(Request["MerchantName"]);
notifyresponse.AmountToPay = GetFormVariableOrNull(Request["AmountToPay"]);
notifyresponse.PaymentOKURL = GetFormVariableOrNull(Request["PaymentOKURL"]);
notifyresponse.OrderId = GetFormVariableOrNull(Request["OrderId"]);
notifyresponse.AmountCurrency = GetFormVariableOrNull(Request["AmountCurrency"]);
notifyresponse.PaymentType = GetFormVariableOrNull(Request["AmountType"]);
notifyresponse.PaymentStatus = GetFormVariableOrNull(Request["PaymentStatus"]);
string[] keys = Request.Form.AllKeys;
for (int i = 0; i < keys.Length; i++)
{
Session["amountpay"]=keys[i] ;
}
}
protected string GetFormVariableOrNull(object formvariable)
{
if (formvariable != null)
{
try
{
return formvariable.ToString();
}
catch (Exception ex)
{
/// log the exception in file or DB
Console.WriteLine(ex.Message);/// just for an example
return null;
}
}
else
return null;
}
由于
答案 0 :(得分:0)
使用Fiddler,它会向您显示所有流量,并提供有关这些交易之间的更准确信息
https://www.telerik.com/download/fiddler
HTTP消息可以由两部分组成,第一部分是标题,另一部分是正文。
向服务器发出GET请求时,它不会包含正文。另一方面,POST请求将会。标题和正文之间有换行符......我已经在
下面展示了一个POST请求