PDA

View Full Version : حرفه ای: مشکل در رفتن به صفحه درگا بانک ملت هنگام refid=0



t3.nano
شنبه 01 شهریور 1393, 12:51 عصر
سلام، خسته نباشین
من برای درگاه برنامه ای که نوستم که در زیر آوردم
در هاست refid را در خروجی صفر میدهد ولی به صفحه بانک ملت انتقال داده نمیشود
از اوون آیپی با برنامه تستی که ار همین سایت گرفتم به درگاه بانکی به راحتی متصل میشوم ولی در سایته خودم مشکل بوجود آمده است
کد مورد نظر :

try
{
string result;
string PayDate = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().PadLeft(2, '0') + DateTime.Now.Day.ToString().PadLeft(2, '0');
string paytime = DateTime.Now.Hour.ToString().PadLeft(2, '0') + DateTime.Now.Minute.ToString().PadLeft(2, '0') + DateTime.Now.Second.ToString().PadLeft(2, '0');
//Int64 pay_order_id = Convert.ToInt64(DateTime.Now);
Int64 PayOrderId = Convert.ToInt64(PayDate + paytime);
string strPathAndQuery = HttpContext.Current.Request.Url.PathAndQuery;
string strUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replac e(strPathAndQuery, "/");
string pay_back_url = strUrl + "/propuse.aspx";
string price_str = (lbl_sum_end.Text).Replace(",", string.Empty);

BypassCertificateError();

ir.shaparak.bpm.PaymentGatewayImplService bpService = new ir.shaparak.bpm.PaymentGatewayImplService();
result = bpService.bpPayRequest(Int64.Parse(Application["terminal_id"].ToString()),
Application["terminal_UserName"].ToString(),
Application["terminal_pass"].ToString(),
9232444007,//PayOrderId
Int64.Parse(price_str),
PayDate,
paytime,
sell_detail,
pay_back_url,
Int64.Parse(Application["terminal_payerId"].ToString()));

lbl_pay_result.Text = result;

String[] resultArray = result.Split(',');
if (resultArray[0] == "0")
ClientScript.RegisterStartupScript(typeof(Page), "ClientScript", "<script language='javascript' type='text/javascript'> postRefId('" + resultArray[1] + "');</script> ", false);
}

خروجی: 0,34E30F73B43739D4

اسکریپت صفحه html


<script language="javascript" type="text/javascript">
function postRefId(refIdValue) {
var form = document.createElement("form");
form.setAttribute("method", "POST");
form.setAttribute("action", "<%= PgwSite %>");
form.setAttribute("target", "_self");
var hiddenField = document.createElement("input");
hiddenField.setAttribute("name", "RefId");
hiddenField.setAttribute("value", refIdValue);
form.appendChild(hiddenField);
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}
</script>



پیشاپیش از راهنماییتون ممنونم

t3.nano
شنبه 01 شهریور 1393, 19:18 عصر
راه حل :
مشکلش استفاده از updatepanel در صفحه ام بوده
خط زیر را

ClientScript.RegisterStartupScript(typeof(Page), "ClientScript", "<script language='javascript' type='text/javascript'> postRefId('" + resultArray[1] + "');</script> ", false);



به

ScriptManager.RegisterStartupScript(UpdatePanel1,U pdatePanel1.GetType(), "ClientScript", "<script language='javascript' type='text/javascript'> postRefId('" + resultArray[1] + "');</script> ", false);


تبدیل کردم و درست شد،موفق باشید

setareh2013
سه شنبه 21 بهمن 1393, 13:10 عصر
من هم همین مشکل رو دارم ولی از آپدیت پنل هم استفاده نکردم . باید چه کار کنم ؟