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

نام تاپیک: مشکل در پیاده سازی درگاه بانک سامان

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    مشکل در پیاده سازی درگاه بانک سامان

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

    using System;
    using System.Data;
    using System.Collections.Generic;
    using System.Web.Configuration;


    public partial class BackFromSaman : System.Web.UI.Page
    {
    #region fields
    public double t_lAmount = 0;
    public string message = string.Empty;
    public string t_strRefNum = string.Empty;
    public string t_strResNum = string.Empty;
    #endregion
    protected void Page_Load(object sender, EventArgs e)
    {
    #region fields
    t_lAmount = double.Parse(Session["Amount"].ToString());
    bool isError = false;
    string strMsg = string.Empty;
    // وب سرویس بانک سامان
    /*=>*/ //com.sb24.acquirer.ReferencePayment samanBankServices = new com.sb24.acquirer.ReferencePayment();

    #endregion
    if (Request.Form["State"].Equals("OK"))
    {
    double Result = -1000;
    t_strRefNum = Request.Form["RefNum"].ToString();//رسید خرید دیجیتال که باید در پایگاه داده جهت یکتا بودن جستجو شود
    t_strResNum = Request.Form["ResNum"].ToString();//شناسه خرید که توسط فروشنده ارسال شده است
    if (t_strRefNum.Equals(string.Empty))
    {
    isError = true;
    strMsg = "گويا خريد شما توسط بانک تاييد شده است اما رسيد ديجيتالي شما تاييد نگشت";
    t_strResNum = "مشکلي در فرايند رزرو خريد شما پيش آمده است";
    }
    else
    {
    Session["RefNum"] = Request.Form["RefNum"].ToString();
    try
    {
    string MID = "xxx";//کد اختصاصی پذیرنده
    Result = samanBankServices.verifyTransaction(t_strRefNum, MID);

    double strTempRes = Result;
    string strNodeType;
    if (strTempRes > 0)
    {
    strTempRes = 1;
    }
    switch ((int)strTempRes)
    {
    case 1: //VERIFIED
    //connection.Open()
    if (Result < t_lAmount) //Total Amount of Basket
    {
    strMsg = "مبلغ انتقالي کمتر از مبلغ کل فاکتور ميباشد";
    isError = true;
    }
    else
    if (Result.Equals(t_lAmount)) //Total Amount of Basket
    {
    isError = false;
    strMsg = "بانک صحت رسيد ديجيتالي شما را تصديق نمود. فرايند خريد تکميل گشت";
    }
    else
    if (Result > t_lAmount) //Total Amount of Basket
    {
    isError = false;
    strMsg = string.Format("خريد شما تاييد و نهايي گشت اما مبلغ انتقالي {0} ريال بيش از مبلغ خريد ميباشد", Result);
    }
    break;
    case -1: //TP_ERROR
    isError = true;
    strNodeType = "errornode";
    strMsg = "بروز خطا درهنگام بررسي صحت رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    case -2: //ACCOUNTS_DONT_MATCH
    isError = true;
    strNodeType = "errornode";
    strMsg = "بروز خطا در هنگام تاييد رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    case -3: //BAD_INPUT
    isError = true;
    strNodeType = "errornode";
    strMsg = "خطا در پردازش رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    case -4: //INVALID_PASSWORD_OR_ACCOUNT
    isError = true;
    strNodeType = "errornode";
    strMsg = "خطاي دروني سيستم درهنگام بررسي صحت رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    case -5: //DATABASE_EXCEPTION
    isError = true;
    strNodeType = "errornode";
    strMsg = "خطاي دروني سيستم درهنگام بررسي صحت رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    case -7: //ERROR_STR_NULL
    isError = true;
    strNodeType = "errornode";
    strMsg = "خطا در پردازش رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    case -8: //ERROR_STR_TOO_LONG
    isError = true;
    strNodeType = "errornode";
    strMsg = "خطا در پردازش رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    case -9: //ERROR_STR_NOT_AL_NUM
    isError = true;
    strNodeType = "errornode";
    strMsg = "خطا در پردازش رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    case -10: //ERROR_STR_NOT_BASE64
    isError = true;
    strNodeType = "errornode";
    strMsg = "خطا در پردازش رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    case -11: //ERROR_STR_TOO_SHORT
    isError = true;
    strNodeType = "errornode";
    strMsg = "خطا در پردازش رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    break;
    default:
    isError = false;
    /*
    isError = true;
    strNodeType = "errornode";
    strMsg = "بروز خطا درهنگام بررسي صحت رسيد ديجيتالي در نتيجه خريد شما تاييد نگرييد";
    * */
    break;
    }
    }
    catch (Exception ex)
    {
    isError = true;
    strMsg = "سرور بانک براي تاييد رسيد ديجيتالي در دسترس نيست<br><br><div dir ='ltr' align='left'>" + ex.Message + "</div>";
    }
    }
    if (t_strRefNum.Equals(string.Empty))
    {
    isError = true;
    strMsg = "گويا فرايند انتقال وجه با موفقيت انجام شده است اما فرايند تاييد رسيد ديجيتالي با خطا مواجه گشت";
    t_strRefNum = "مشکلي در خريد شما پيش آمده است";
    }
    if (isError)
    message = string.Format("<P><font color="#DD0000">{0}{1}</font></P>", strMsg, Request.Form["State"]);
    else
    message = string.Format("<P><font color="#009900">{0}</font></P>", strMsg);
    }
    else
    {
    strMsg = string.Format("{0} متاسفانه بانک خريد شما را تاييد نکرده است", Request.Form["State"]);
    isError = true;
    t_strRefNum = "خريد شما تاييد نگشته است";
    t_strResNum = string.Format("ديگر معتبر نيست {0} شماره خريد", Request.Form["ResNum"]);
    message = string.Format("<P><font color="#ff3300">{0}</font></P>", strMsg);
    }
    //update database
    int t_intState;
    if (isError)
    t_intState = 2;
    else
    t_intState = 1;
    if (Request.Form["ResNum"].Equals(string.Empty))
    {
    strMsg = "خطا در برقرار ارتباط با بانک";
    isError = false;
    }
    else
    {
    Dictionary<string, object> parameters = new Dictionary<string,object>();
    parameters.Add("RefNum", Request.Form["RefNum"]);
    parameters.Add("State", t_intState);
    parameters.Add("ResNum", Request.Form["ResNum"]);
    /*=>*/ // if (DBFunctions.ExecuteNonQuery("UPDATE SBT SET RefNum = @RefNum, State = @State WHERE ResNum = @ResNum", parameters, CommandType.Text, WebConfigurationManager.ConnectionStrings["Your connection string name"].ConnectionString) != 1)
    // strMsg = "خطايي در ثبت خريد بوجود آمد. لطفا با پشتيباني تماس گيريد";
    }
    }
    }

  2. #2

    نقل قول: مشکل در پیاده سازی درگاه بانک سامان

    مشکل در خط 42 این کد هست .یعنی در این خط
    Result = samanBankServices.verifyTransaction(t_strRefNum, MID);
    تابع samanBankServices رو خطا میگیره و نمیشناسه.

  3. #3

    نقل قول: مشکل در پیاده سازی درگاه بانک سامان

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

  4. #4

    نقل قول: مشکل در پیاده سازی درگاه بانک سامان

    وب سرویس را به رفرنس ها اضافه کردید؟

  5. #5

    نقل قول: مشکل در پیاده سازی درگاه بانک سامان

    نه . مشکل از اضافه نشدن وب سرویس بود که با اضافه شدن آن رفع گردید.

تاپیک های مشابه

  1. راهنمایی در پیاده سازی درگاه بانک
    نوشته شده توسط hharddy در بخش Android Studio
    پاسخ: 12
    آخرین پست: سه شنبه 14 شهریور 1396, 22:28 عصر
  2. مشكل در پياده سازي درگاه بانك
    نوشته شده توسط Z.Abdollahi در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 15 اردیبهشت 1390, 09:36 صبح
  3. سوال: مشكل در پياده سازي درگاه بانك
    نوشته شده توسط Z.Abdollahi در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: دوشنبه 17 آبان 1389, 21:04 عصر
  4. مشکل در پیاده سازی tab و یک رشته با هم ؟
    نوشته شده توسط Red_RootKit در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: سه شنبه 21 شهریور 1385, 17:31 عصر
  5. مشکل در پیاده سازی الگوی فشرده سازی
    نوشته شده توسط CSharp-Assistant در بخش C#‎‎
    پاسخ: 3
    آخرین پست: دوشنبه 27 تیر 1384, 22:29 عصر

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

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