PDA

View Full Version : مشكل با درگاه پرداخت بانك سامان



farzane_t
شنبه 05 مهر 1393, 13:58 عصر
سلام.
من از بانك سامان براي يكي از سايتها درگاه گرفتم.
به صفحه پرداخت مي رم و پرداخت رو انجام مي دم و به صفحه برگشت هم برمي گردم. اين بخشي از كدهاي صفحه برگشت هست :


private string refrenceNumber = string.Empty;
private string reservationNumber = string.Empty;
private string transactionState = string.Empty;
bool isError = false;
string errorMsg = "";
string succeedMsg = "";

protected void Page_Load(object sender, EventArgs e)
{
try
{
if (RequestUnpack())
{
if (transactionState.Equals("OK"))
{

lblTest.Text="OK";


///For Ignore SSL Error
ServicePointManager.ServerCertificateValidationCal lback =
delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };

///WebService Instance
var srv = new ServiceReference1.PaymentIFBindingSoapClient();

var result = srv.verifyTransaction(Request.Form["RefNum"], Request.Form["MID"]);
lblAfter.Text="After";
if (result > 0)
{
isError = false;
succeedMsg = "بانک صحت رسيد ديجيتالي شما را تصديق نمود. فرايند خريد تکميل گشت";

}

else
{
TransactionChecking((int)result);
}
}
else
{
}

}
}

catch (Exception ex)
{

}
}


اتفاق عجيبي مي افته. مطمئنم كه وارد حلقه if (transactionState.Equals("OK"))
مي شيم. چون توسط اين خط lblTest.Text="OK";
، كلمه OK چاپ مي شه.
ولي متوجه شدم ظاهراً خطوط زير اصلاً اجرا نميشه (ظاهراً به اين خط كه مي رسه از حلقه خارج ميشه) :
var result = srv.verifyTransaction(Request.Form["RefNum"], Request.Form["MID"]);
lblAfter.Text="After";


لطفاً راهنمايي كنيد. در واقع ما نياز به نتيجه result داريم ولي اصلاً نتيجه اي به ما نمي ده