PDA

View Full Version : خالی بودن سشن ها بعد از تأیید پرداخت در درگاه بانک ملی



bftarane
چهارشنبه 18 تیر 1393, 10:46 صبح
سلام.
خیلی به راهنماییتون نیاز دارم، لطفاً کمک کنید.
من به درگاه بانک ملی وصل می شم و بعد از کلیک دکمه پرداخت به یه صفحه دیگه میرم که اونجا شماره سفارش و مبلغ و ... رو بهم نشون می ده و در این صفحه که کلید تأیید پرداخت رو می زنم به صفحه PayBack که صفحه بازگشت هست میره ولی این خطا رو نشون میده.
Object reference not set to an instance of an object

البته معنی خطا رو متوجه میشم که یعنی سشن Trankey مقدار نداره ولی Trace کردم و این سشن در صفحه MerchantInputInfo.aspx مقدار می گیره و در صفحه MerchantInputInfo هم چک کردم هنوز این سشن مقدار داره

همچنین این سشن رو کامنت کردم و دیدم حالا داره از سشن بعدی ایراد می گیره، دلیلش چیه که این سشن ها مقدارشون باقی نمی مونه بعد از تأیید پرداخت؟

لطفاً راهنمایی کنید

البته مسئله به نظر من مدت زمان سشن نیست چون من بدون تأخیر مراحل پرداخت رو پشت سر هم انجام می دم.


دلیل این مسئله چی می تونه باشه؟ آیا می تونه ربطی به اینکه سرور در کانادا هست داشته باشه؟ منظورم اختلاف ساعت هست.

bftarane
چهارشنبه 18 تیر 1393, 12:21 عصر
اون تیکه که در صفحه اول با این کد تاریخ و ساعت رو می فرستاد

//TextBoxAdditionalInfo.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
رو اومدم با استفاده از کلاس TimeZoneInfo،
Iran Standard Time رو پاس دادم به تکست باکس به شکل زیر ولی بازم مشکل حل نشد.

DateTime dt = Convert.ToDateTime(tz.tzIran().ToString());


string PayDate = dt.Year.ToString() + "-" + dt.Month.ToString().PadLeft(2, '0') + "-" + dt.Day.ToString().PadLeft(2, '0');
string PayTime = dt.Hour.ToString().PadLeft(2, '0') + ":" + dt.Minute.ToString().PadLeft(2, '0') + ":" + dt.Second.ToString().PadLeft(2, '0');

//TextBoxAdditionalInfo.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
TextBoxAdditionalInfo.Text = PayDate + " " + PayTime;
برای افزودن زمان ماندگاری سشن هم این کد رو در وب کانفیگ گذاشتم بازم تأثیری نداشت.

<sessionState mode="InProc" cookieless="false" timeout ="15"></sessionState>

bftarane
چهارشنبه 18 تیر 1393, 13:27 عصر
با استفاده از پست 3 این لینک مشکل حل شد
http://barnamenevis.org/showthread.php?425931
من در وب کانفیگ ReturnUrl رو به شکل زیر داده بودم

<add key="ReturnURL" value="http://www.abc.com/PayBack.aspx"/>
حالا رفتم اون www رو برداشتم مشکل رفع شد.
ولی خوب تا بتونم کامل این درگاه رو راه بندازم و تراکنش ها رو مدیریت کنم حتماً به سوالات زیادی بر می خورم. مزاحم میشم بازم.