نمایش نتایج 1 تا 20 از 20

نام تاپیک: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

  1. #1

    Smile مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    با سلام
    برای اتصال به درگاه پرداخت الکترونیک بانک ملی که همون دامون هستش به مشکل بر خوردم.

    پشتیبان های فنی هم که ازشون می پرسی تو ASP.Net چجوری هست می گن ما نمی دونیم، اگه می خوای یه شرکت رو معرفی کنیم که کامپوننت نوشتن، واسه این کار و با دریافت هزینه راهنماییتون می کنن( احتمالا تبلیغ و تبانی با اونا).

    باز خوبه اینا این سیستم رو از یه نمونه خارجی کپی کردن و خوشبختانه نمونه خارجی همه نمونه کد ها رو تو همه زبانها گذاشته.
    نمونه خارجی AuthorizeNet.com هست. داکیومتاش هم محشره.
    لا اقل اونم ترجمه می کردن خوب می شد.
    خلاصه من نمونه کد اتصال یا همون Integration با دامون رو می زارم. این کد ارسال درخواست هست. در آینده کد دریافت پاسخ رو هم می زارم.
    لینک دانلود: http://Adak-co.ir/Guides/DamoonIntegration.rar

    نا گفته نمونه این به روش SIM هست.
    امیدوارم مفید بوده باشه.
    بای

  2. #2
    کاربر تازه وارد آواتار hadiranji
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تبریز
    پست
    91

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.NET

    معمولا بانکها از متد post برای ارسال پاسخ استفاده می کنند که تو اون حالت :Label1.Text = Request.Form["code"];و اگه از متد getاستفاده کنن :Label1.Text = Request.QueryString["code"];

  3. #3

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    سلام خسته نباشید
    با پنل بانک ملی - دامون کار کردم
    اگه هنوز مشکلت حل نشده ایمیل بزن تا کمکی از دستم بر اومد راهنمایی کنم
    موفق باشی

  4. #4

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.NET

    من با دامون یه مشکلی دارم.
    موقع وصل شدن به بانک و بازگشت و نشان دادن نتیجه پرداخت مشکلی ندارم و درست انجام میشه.
    ولی برای پیاده سازی Verification لیست همه پرداخت های یک کاربر رو براش نشون میدم.و هر کدوم که تایید نشده براش دکمه پیگیری گزاشتم ولی نتونستم کاری کنم.
    همچنین از ReceiptPage هم چیزی نفهمیدم
    ممنون میشم راهنمایی کنینن.

  5. #5
    کاربر دائمی آواتار reza6966
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    شیراز
    پست
    234

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    خلاصه من نمونه کد اتصال یا همون Integration با دامون رو می زارم. این کد ارسال درخواست هست. در آینده کد دریافت پاسخ رو هم می زارم.
    لینک دانلود: http://Adak-co.ir/Guides/DamoonIntegration.rar
    دوست عزیز اگه امکانش هست کد دریافت پاسخ هم بذارید
    ممنون

  6. #6
    کاربر دائمی آواتار HamidNch
    تاریخ عضویت
    دی 1387
    محل زندگی
    قزوین
    پست
    141

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    سلام دوستان.این لینک خراب شده و کار نمی کنه.کسی لینک سالمش رو داره.
    تشکر

  7. #7
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    تهران
    پست
    424

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    نقل قول نوشته شده توسط javadhemati مشاهده تاپیک
    من با دامون یه مشکلی دارم.
    موقع وصل شدن به بانک و بازگشت و نشان دادن نتیجه پرداخت مشکلی ندارم و درست انجام میشه.
    ولی برای پیاده سازی Verification لیست همه پرداخت های یک کاربر رو براش نشون میدم.و هر کدوم که تایید نشده براش دکمه پیگیری گزاشتم ولی نتونستم کاری کنم.
    همچنین از ReceiptPage هم چیزی نفهمیدم
    ممنون میشم راهنمایی کنینن.
    اصلا از Verification بانک ملی انتظار دریافت یک پاسخ تمیز و شسته رفته نداشته باش! بهتره بگم اگه نبود، سنگین تر بود!!
    همون اطلاعاتی که موقع ارسال داوطلب به بانک فرستادی رو به آدرس Verification میفرستی و همونجا بصورت متن اطلاعات رو بهت نشون میده. هیچی هم به سمت سایت برنمیگردونه. پس اصلا انتظار نداشته باش که بتونی این کار رو به مشتری واگذار کنی و اطلاعات رو توی دیتابیست ذخیره کنی.
    من که اصلا جرات استفاده از بانک ملی در تراکنشهای با قیمت بالا رو ندارم. دردسرش زیاده، مخصوصا در زمانهایی که اینترنت مشکل داره یا بار روی سایت شما بالاست.
    کلا اگه خیلی اصرار دارین با بانک ملی کار کنین، من حاضرم کلی تجربه در اختیارتون بگذارم(‌دیگه توی پرداخت‌های الکترونیکی بانک‌های مختلف مو سفید کردم!!)

    البته این نکته رو بگم که پیاده سازی ساده ای داره و اگر اینترنت کشور ما قابل اعتماد بود، واقعا درست‌ترین روش برای پرداخت‌های الکترونیکی رو بانک ملی داشت اما به دلیل نامطمئن بودن اینترنت و عدم وجود بستر مناسب، الان دامون زیاد مطمن نیست. بزرگترین ایراد این هست که مشتری رو شما میفرستید سمت بانک، اونجا کسر از حساب میشه اما مشتری نمیتونه برگرده سمت سایت. توی این حالت، شما خدمات نمیدین، مشتری پول از حسابش کسر شده، پشتیبانی بانک ملی یک شماره تراکنش به مشتری میده که شما ازش باخبر نیستین، حالا فرض کن طرف 20 تا تراکنش انجام داده و شما نمیدونین کدوم یکی از این تراکنشها تراکنش مورد نظر هست. Verification باید دستی انجام بشه، اطلاعات Verification به صورت امن به سایت شما ارسال نمیشن و تمام اینها باعث میشه که هم شما هم مشتری ناراضی باشه.
    حالا اگر یه سایت با مشتری زیاد باشید، مثلا فروش بلیط قطار، دیگه رسما باید بزنی توی سر خودت!! چون حتی نمیتونی حدس بزنی چند درصد از مشتریات چنین وضعیتی پیدا کردن چه برسه به اینکه بخوای پیگیری وضعیت کنی!

  8. #8
    کاربر دائمی آواتار HamidNch
    تاریخ عضویت
    دی 1387
    محل زندگی
    قزوین
    پست
    141

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    خیلی ممنون از راهنمایهات.
    ببین دوست عزیز کل داستان این هست که من می خوام تو یه صفحه که یه رادیوباتون لیست داراری سه گزینه"ملی-صادرات-سامان"هستش با توجه به انتخاب هرکدوم PostBackUrl موردنظر در باتون سابمیت رو تغییر بدم میدونم این قسمت هیچ ربطی به مسئله اصلی نداره.اما فرمودین که تجربه کافی دارین دارم مشکلاتمو عرض میکنم.
    (نکته اینکه این صفحه از یه مسترپیج مشتق میشه.)
    حالا من تونستم ارتباط از طریق درگاه سامان رو برقرار کنم.واطلاعات رو از طریق متد پست به سایت سامان ارجاع بدم تا اینجا درست.اما بعد از برگشت از سایت بانک چه از طریق دکمه بازگشت یا چه از طریق دکمه تکمیل فرایند می بایست
    من به صفحه ای که در سایتم برای این هدف تعیین کردم برگرده،این کارم میشه اما اررور میده علت ارور هم اون کدای Verification در لود صفحه هستش و نتونستم مشکل رو حل کنم.
    و اما مشکل در ارتباط با بانک ملی (چون با ASp.NET و C#‎ کار میکنم)نمونه سورسهایی که بانک در اختیارم قرار داده بدردم نمی خوره.و از شما دوست عزیز می خوام در صورت امکان تمامی تنظیمات صفحه ارجاع و بازگشت به / از بانک رو بهم بگین.
    من شدیدا منتظر راهنمائی های شما هستم.تشکر

  9. #9
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    تهران
    پست
    424

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    نقل قول نوشته شده توسط HamidNch مشاهده تاپیک
    خیلی ممنون از راهنمایهات.
    ببین دوست عزیز کل داستان این هست که من می خوام تو یه صفحه که یه رادیوباتون لیست داراری سه گزینه"ملی-صادرات-سامان"هستش با توجه به انتخاب هرکدوم PostBackUrl موردنظر در باتون سابمیت رو تغییر بدم میدونم این قسمت هیچ ربطی به مسئله اصلی نداره.اما فرمودین که تجربه کافی دارین دارم مشکلاتمو عرض میکنم.
    (نکته اینکه این صفحه از یه مسترپیج مشتق میشه.)
    حالا من تونستم ارتباط از طریق درگاه سامان رو برقرار کنم.واطلاعات رو از طریق متد پست به سایت سامان ارجاع بدم تا اینجا درست.اما بعد از برگشت از سایت بانک چه از طریق دکمه بازگشت یا چه از طریق دکمه تکمیل فرایند می بایست
    من به صفحه ای که در سایتم برای این هدف تعیین کردم برگرده،این کارم میشه اما اررور میده علت ارور هم اون کدای Verification در لود صفحه هستش و نتونستم مشکل رو حل کنم.
    و اما مشکل در ارتباط با بانک ملی (چون با ASp.NET و C#‎ کار میکنم)نمونه سورسهایی که بانک در اختیارم قرار داده بدردم نمی خوره.و از شما دوست عزیز می خوام در صورت امکان تمامی تنظیمات صفحه ارجاع و بازگشت به / از بانک رو بهم بگین.
    من شدیدا منتظر راهنمائی های شما هستم.تشکر
    دوست عزیز، یه سوال هم خصوصی پرسیده بودین که اون رو اینجا میذارم تا در کل همه رو جواب بدم. سوالی که پرسیده بودین:
    یکی از مشکلات عمده من اینه که نمیتونم قبل ارسال فیلدها به صفحه پرداخت بانک ،این فیلدها رو در دیتابیس ذخیره کنم.چون که وقتی با دکمه عمل سابمیت رو انجام میدی دیگه کدی رو در سمت سرور نمتونی اجرا کنی که عمل ثبت رو انجام بدهفدر سمت جاوااسکریپت هم که باید از وب سرویسها و آژاکس جی کوئری استفاده کرد.لطفا با توجه به تجربه تون ممکنه راهنمائی کنین.فلسفه اینکار چیه و چطور میتونم اطلاعات رو قبل از ارسال ذخیره کنم.
    تازه مشکل دوچندان میشه وقتی که بخوایم از مسترپیج و همچنین لو.د یوزرکنترل بصورت داینامیک اونم سمت کلاینت استفاده کنیم.
    ۱) در مورد ثبت اطلاعات قبل از ارسال به بانک:
    همونطور که خودتون اشاره کردین، چون از روش پست باید استفاده بشه، شما چاره‌ای ندارین جز اینکه اطلاعات رو قبل از ساخت صفحه ارسال کننده، در دیتابیس ذخیره کنین. یعنی وقتی کاربرتون صفحه ارسال کاربر به بانک رو دید، اطلاعات ارسال رو شما قبلاتوی دیتابیس ذخیره کردین. حالا اگر روی دکمه قبول کلیلک نکرد، دیگه مهم نیست. همینجا انصرافش رو اعلام کرده در واقع. مثل این میمونه که بره توی سایت دروازه پرداخت و کل صفحه رو ببنده.
    ۲) استفاده از مستر پیج در اینگونه صفحات:
    تنها چاره اش این هست که شما صفحه تون رو از ابتدا بسازین. برای اینکار باید از Page.Response.Clear() استفاده کنین و ActionSource تگ form رو به سایت مقصد و Action method رو به post تغییر بدین. در کل کار سختی نیست و فقط یه مقدار ابتکار میخواد! کاری که من میکنم این هست:
    1. پاک کردن محتویات صفحه با Page.Response.Clear()
    2. خواندن فایل مسترپیج با IO.StreamReader
    3. تبدیل فایل مسترپیج به فایل HTML
    4. تغیر تگ from به تگ form دلخواه
    5. جایگزینی رشته حاصله که یک HTML هست با صفحه فعلی با استفاده از Page.Response.Write

    شما کارهای ساده تری هم میتونید انجام بدید. مثلا به جای خوادن مستر پیج از همون page.response استفاده کنید. اما در کل باید تمام مراحل فوق رو برید. نتیجه این عملیات یک صفحه با فرمت HTML هست که کاربر رو به سایت بانک هدایت میکنه.
    ۳)‌صفحه بازگشت کاربر:
    این صفحه کد خاصی نداره اما مهمترین صفحه هست. چون نتیجه رو به شما اعلام میکنه.
    در بانک سامان که شما باید در این صفحه متد inquery رو فرخوانی کنید و در بانک ملی نیازی به این کار نیست.

    در مورد کد، بهتره شما کدتون رو بگذارید تا قسمت به قسمت راهنمایتون کنم
    در مورد فلسفه این کار هم بگم که در حال حاضر(‌تا اونجا که من کار کردم)‌فقط بانک پارسیان هست مه از روش Post استفاده نمی کنه و بانکهای ملی(صادرات هم که همون ملیه)، سامان، تجارت، ملت و سپه هم از روش POST استفاده میکنن. میتونم بگم دلیل اینکار کاهش میزان ارسال و دریافت در سطح شبکه است.

  10. #10
    کاربر دائمی آواتار HamidNch
    تاریخ عضویت
    دی 1387
    محل زندگی
    قزوین
    پست
    141

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    خیلی ممنون از راهنمائی های ارزنده تون.
    من برای لود یوزرکنترل از این تابع اسکریپتی استفاده میکنم:
            function loadUserControl(obj)
    {
    $.blockUI(
    {
    message: '<h4 style="font-family:tahoma;color:lime"><img src="' + imagePath + '/ajaxImages/loading_User.gif" /><br /><br />... درحال بارگذاري</h4>',
    fadeIn: 1000,
    fadeOut: 1000,
    centerX: true,
    centerY: true,
    css:
    {
    border: 'none',
    padding: '5px',
    backgroundColor: 'transparent',
    '-webkit-border-radius': '10px',
    '-moz-border-radius': '10px',
    opacity: .6,
    color: '#fff'
    }
    });
    var ControlName = obj;
    $.ajax({
    type: "POST",
    url: "Sport_InternetShetabPayment.aspx/Result",
    data: "{controlName:'" + ControlName + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response)
    {
    $.unblockUI();
    $('#result').html(response.d);
    },
    failure: function (msg)
    {
    $.unblockUI();
    $('#result').html(msg);
    }
    // ,error: function (xhr, status, error)
    // {
    // $.unblockUI();
    // // Boil the ASP.NET AJAX error down to JSON.
    // var err = eval("(" + xhr.responseText + ")");

    // // Display the specific error raised by the server (e.g. not a
    // // valid value for Int32, or attempted to divide by zero).
    // alert(err.Message);
    // }
    });
    }
    حالا تو اون یوزرکنترل من یه TextBox دارم که مبلغ پرداختی رو از کاربر میگیره و بعدش یه دکمه هست که بازدن اون بایستی ابتدا اطلاعات ذخیره و سپس به سایت بانک ارجاع بشه:
    این کدها رو من نوشتم:
        private void submitForm()
    {
    string bankID = "1";
    string loginID = "TestMer08";
    string transactionKey = "eoXaEm2LUnz2OiyQ";
    string amount = txt_amount.Value;
    string description = "Sample Transaction";
    //string label = "Submit Payment"; // The is the label on the 'submit' button
    //string testMode = "false";
    string currency_code = "Rial";
    //Random random = new Random();
    String seq = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() +
    DateTime.Now.DayOfYear.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() +
    DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString();
    string sequence = seq.ToString();//(random.Next(0, 1000)).ToString();
    string timeStamp = ((int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds).ToString();
    string fingerprint = HMAC_MD5(transactionKey, loginID + "^" + sequence + "^" + timeStamp + "^" + amount + "^" + currency_code);
    InsertPaymentReadyMelli(sequence, amount, bankID, timeStamp, fingerprint, description);
    System.Web.HttpContext.Current.Response.Clear();
    System.Web.HttpContext.Current.Response.Write("<form name='newForm' method='post' action='https://Damoon.bankmelli-iran.com/DamoonPrePaymentController'>");
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_description\" value=\"{0}\">", description));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_fp_sequence\" value=\"{0}\">", sequence));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_fp_timestamp\" value=\"{0}\">", timeStamp));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_fp_hash\" value=\"{0}\">", fingerprint));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_login\" value=\"{0}\">", loginID));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_amount\" value=\"{0}\">", txt_amount.Value));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_currency_code\" value=\"{0}\">", currency_code));
    //System.Web.HttpContext.Current.Response.Write("<as p:Button ID='btnSend' runat='server' Text='پرداخت' CssClass='sport_BtnForm' onClientClick='setAndSaveMelli()' />");
    System.Web.HttpContext.Current.Response.Write("</form>");
    System.Web.HttpContext.Current.Response.Write("</body>");
    HttpContext.Current.Response.Write(
    "<link href='../Styles/CSSSportMaster.css' rel='stylesheet' type='text/css' />" +
    "<link href='../Styles/CSSSport_Login.css' rel='stylesheet' type='text/css' />" +
    "<link href='../Styles/CSStxtLogin.css' rel='stylesheet' type='text/css' />" +
    "<link href='../Styles/CSSSport_HorizMenu.css' rel='stylesheet' type='text/css' />" +
    "<link href='../Styles/CssSport_SettleInternetShetab.css' rel='stylesheet' type='text/css' />" +
    "<script src='../Scripts/jquery-1.4.4.js' type='text/javascript'></script>" +
    "<script type='text/javascript'>document.forms[0].submit();</SCRIPT>");

    protected void btnSend_Click(object sender, EventArgs e)
    {
    submitForm();
    }
    }


    ازاونجایی که بوزرکنترل توسط جی کوئری لود میشه بصورت Htmlهست.ودسترسی به رویداد کلیک باتون در سمت سرور ممکن نیست.

  11. #11
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    تهران
    پست
    424

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    شما نباید این صفحه رو به صورت HTML دربیارین. کاربر اینجا مقادیر رو پر میکنه. شما محاسبات رو انجام میدین و کاربر رو به یه صفحه دیگه که اون HTML هست هدایت میکنین. در اون صفحه شما میتونید در page load امضا رو تلید کنین و مبلغ پرداختی رو نمایش بدید و از کاربر بخواید در صروتی که تایید میکنه، دکمه تایید رو بزنه. در این جا شما اون رو به سایت بانک میفرستین. غیر از این کار دیگه راه حلی وجود نداره

  12. #12
    کاربر دائمی آواتار HamidNch
    تاریخ عضویت
    دی 1387
    محل زندگی
    قزوین
    پست
    141

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    با این تابع که تو جاوااسکریپت نوشتمش میشه اون متد رو بصورت وب متد اجرا کرد اما مشکلی که داره به صفحه بانک ریدایرکت نمیشه.
    function submitFormToBank()
    {
    var amountValue = $("[id$= 'txt_amount']").val();
    $.ajax({
    type: "POST",
    async: false,
    url: "Sport_InternetShetabPayment.aspx/submitForm",
    data: "{ amountValue: '" + amountValue + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "text",
    success: function (res)
    {
    // result = data.d;
    alert("Yes");
    },
    error: function (fail)
    {
    alert("خطا به وقوع پیوست" + fail.responseText);
    }
    });
    }

  13. #13
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    تهران
    پست
    424

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    من اصلا از جاوااسکریپت استفاده نمی کنم چون قابل اعتماد نیست!
    من راه حل پیشنهادی خودم رو گفتم و راه حل دیگه ای هم نمیشناسم.

  14. #14
    کاربر دائمی آواتار HamidNch
    تاریخ عضویت
    دی 1387
    محل زندگی
    قزوین
    پست
    141

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    منم فرمایش شما رو قبول دارم.اما اینجوری محدود هستین.فرض کنین تو یه صفحه شما یه رادیو باتون لیست دارن که با انتخاب هرکدوم یه یوزرکنترل لود میشه که مربوط به هر کدوم از بانکهاست.خوب برای اینکه صفحه رفرش نشه یا باید از آپدیت پانل استفاده کنی یا باید از جی کوئری.و همچنین بعد از لود یوزرکنترل داخل اون مقدار رو دریافت کنی و از همون جا اطلاعات رو در دیتابیس ثبت و سپس اقدام به ارسال به سایت بانک کنی.
    دراینصورت شما باید از وب سرویسها هم بهره بگیری که من عرض کردم اینکارو کردم اطلاعات ثبت میشد اما شکل این بود که به سایت بانک سابمیت نمیشد.

  15. #15

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    نقل قول نوشته شده توسط naeeme مشاهده تاپیک
    من اصلا از جاوااسکریپت استفاده نمی کنم چون قابل اعتماد نیست!
    من راه حل پیشنهادی خودم رو گفتم و راه حل دیگه ای هم نمیشناسم.

    سلام دوست عزیز نمونه کد هایی که در پست اول گذاشتید لینکش خرابه اگر امکان داره دوباره قرار بدید

    ممنون

  16. #16
    کاربر دائمی آواتار HamidNch
    تاریخ عضویت
    دی 1387
    محل زندگی
    قزوین
    پست
    141

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    private void submitForm()
    {
    string bankID = "1";
    string loginID = "TestMer08";
    string transactionKey = "eoXaEm2LUnz2OiyQ";
    string amount = txt_amount.Value;
    string description = "Sample Transaction";
    //string label = "Submit Payment"; // The is the label on the 'submit' button
    //string testMode = "false";
    string currency_code = "Rial";
    Random random = new Random();
    string sequence =(random.Next(0, 1000)).ToString();
    string timeStamp = ((int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds).ToString();
    string fingerprint = HMAC_MD5(transactionKey, loginID + "^" + sequence + "^" + timeStamp + "^" + amount + "^" + currency_code);
    InsertPaymentReadyMelli(sequence, amount, bankID, timeStamp, fingerprint, description);
    System.Web.HttpContext.Current.Response.Write("<form name='newForm' method='post' action='https://Damoon.bankmelli-iran.com/DamoonPrePaymentController'>");
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_description\" value=\"{0}\">", description));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_fp_sequence\" value=\"{0}\">", sequence));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_fp_timestamp\" value=\"{0}\">", timeStamp));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_fp_hash\" value=\"{0}\">", fingerprint));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_login\" value=\"{0}\">", loginID));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_amount\" value=\"{0}\">", txt_amount.Value));
    System.Web.HttpContext.Current.Response.Write(string.Format("<input type=hidden name=\"x_currency_code\" value=\"{0}\">", currency_code));
    System.Web.HttpContext.Current.Response.Write("</form>");
    System.Web.HttpContext.Current.Response.Write("</body>");
    HttpContext.Current.Response.Write("<script src='../Scripts/jquery-1.4.4.js' type='text/javascript'></script>" +
    "<script type='text/javascript'>document.forms[0].submit();</SCRIPT>");
    }

  17. #17

  18. #18
    کاربر دائمی
    تاریخ عضویت
    خرداد 1382
    محل زندگی
    تهران
    پست
    424

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    payment.gifطبق مستند "سیستم سبا دامون- راهنمای پیاده سازی روس SIM جهت اتصال به دامون" ویرایش 2.0.1 تاریخ 1387/03/26 شماره مستند 10003 صفحه 11، یک API استاندارد دریافت جواب از دامون، وجود داره. طبق روالی که در این صفحه و صفحات 12 و 13 توضیح داده شده، شما باید یه ReceiptPageUrl داشته باشید که استاندارد دریافت جواب اون در صفحه 12 توضیح داده شده. خیالتون رو راحت کنم که SilenceResponse پیاده سازی نشده و کار نمیکنه.
    وقتی شما جواب رو از طریق صفحه ReceiptPageUrl دریافت کردیسد، باید اون جواب رو قطعی تلقی کنید و دیگه نیازی به ارسال تاییدیه به بانک ندارید. یا پیاده سازی این صفحه، عملیات پرداخت شما تکمیل شده و جواب نهایی رو دریافت میکنید.
    در صفحه 14 یک سرویس به نام "سرویس Verification برای پذیرندگان" گفته شده که قبلا هم گفتم، این سرویس چیز بدربخوری نیست! برای استفاده از این سرویس باید یک صفحه دقیقا مثل صفحه ارسال داشته باشید که تمام اطلاعات ارسال شده را دقیقا همانگونه که قبلا به سایت ارسال کرده‌اید، به سایت بانک ارسال کند. یعنی امضا دقیقا باید همان امضای ارسال شده باشد. وقتی که داده ارسال شد، یه صفحه به شما نمایش داده میشود( یک صفحه سفید) که دقیقا کلیدهای نوشته شده در صفحه 12 را به شما نمایش میدهد. براساس انچه شما در این صفحه به صورت چشمی مشاهده میکنید، کلید x_trans_id وضعیت تراکنش شما را نشان میدهد. از سرویس Verification شما نمیتوانید هیچ اطلاعاتی را در دیتابیس ذخیره کنید هیچ اطلاعاتی به سمت سایت شما در این سرویس ارسال نمی شود.


    ادرس URL بانک هم که ثابت هست و در همون صفحه 14 گفته شده. همون کاری که در هنگام ارسال به بانک انجام میدید رو باید انجام بدید ولی در اینجا اطلاعات ذخیره شده در بانک رو باید بفرستید نه اطلاعات تولید شده.

    در مورد استفاده از JavaScript که گفیتید نیاز هست یک UC منحصر به هر بانک لود بشه، یه نگاه به سیستم پرداخت رجا و سازمان سنجش بنداز. هر دو دارن از بانکهای متفاوتی استفاده میکنند. هر دو دارن از سامان و پارسیان استفاده میکنند و همونطور که قبلا گفتم، روش پرداخت در این دوبانک با هم متفاوت هست. سامان از متد POST استفاده میکنه و پارسیان از وب سرویس. دقیقا مشکل شما رو این دوسایت دارن. اما سازمان سنجش بدون استفاده از Jquery یا Ajax یا Javascript داره این کار رو انجام میده و رجا هم با اینکه داره از Ajax استفاده میکنه اما در هنگام انتخاب بانک، از Ajax استفاده نکرده.
    شما با همون Javascript هم میتونید داده ها رو در بانک ذخیره کنید.

    پ.ن: در تصویر پیوست، میتوانید نتیجه حاصل از Verify را مشاهده نمایید. به آدرس سایت کاملا توجه نمایید
    آخرین ویرایش به وسیله naeeme : یک شنبه 04 اردیبهشت 1390 در 11:36 صبح دلیل: افزودن تصویر

  19. #19

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    سلام.خسته نباشيد.ببخشيد من توي يكي از تايپيك ها ديدم كه شما اطلاعات خوبي در رابطه با پرداخت الكترونيكي داريد.مي خواستم اگر امكان داره يه سوال بپرسم.

    من توي دانشگاه كار مي كنم.مي خوام براي واريز شهريه از نرم افزار آموزشي دانشگاه و پرداخت الكترونيكي بانك ملي استفاده كنم. مشكلي مه وجود داره اينه كه پرداخت به خوبي انجام ميشه،پول از حساب دانشجو كم ميشه و به حساب دانشگاه واريز ميشه ولي در ليست صورتحساب بانك ملي اطلاعات دانشجويان نشون داده نميشه.فقط اطلاعات كارت بانك ها رو نشون ميده.يعني به بياني اطلاعات دانشجويان به بانك پاس داده نميشه.و امور مالي ما از اين نظر مشكل داره.البته اينو هم بگم كه دانشگاه هاي ديگه با همين نرم افزار پرداختو به راحتي انجام ميدن.
    اگه راهنماييم كنيد خيلي در حقم لطف كرديد.چون خيلي وقته كه گرفتارشم.بانك هم زير بار نميره.....

  20. #20

    نقل قول: مشکل در اتصال به درگاه پرداخت آنلاین بانک ملی با ASP.Net

    با سلام
    اگه کسی در وصل به درگاه بانک ملی با asp core 2 مشکلی داره حتما این لینکی که قرار میدم رو نگاه کنه
    http://satakh.ir/Product/%D9%88%D8%B...D8%A7_asp_core

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •