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>
پیشاپیش از راهنماییتون ممنونم
من برای درگاه برنامه ای که نوستم که در زیر آوردم
در هاست 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>
پیشاپیش از راهنماییتون ممنونم