public PaymentConnectResponse Connect(long invoiceId, long amount, string callback) { var result = new PaymentConnectResponse() { GatewayUrl = GatewayURL, Status = PaymentStatus.Unkonwn, Provider = PaymentProvider.Mellat, Parameters = new Dictionary<string, string>() }; try { BypassCertificateError(); WebUI.MellatBank.PaymentGatewayImplService pg = new WebUI.MellatBank.PaymentGatewayImplService(); //MellatBank.PaymentGatewayClient bp = new WebUI.MellatBank.PaymentGatewayClient(); var bankResult = pg.bpPayRequest(TerminalId, UserName, Password, Convert.ToInt64(invoiceId), amount, DefaultDate(), DefaultTime(), "", callback, 0).Split(','); result.Status = PaymentStatusFromString(bankResult[0]); if (result.Status == PaymentStatus.Success) { result.Parameters.Add("RefId", bankResult[1]); result.Parameters.Add("HTML", File.ReadAllText(System.Web.HttpContext.Current.Request.MapPath(@"~\Services\Payment\connect.html")) .Replace("%Result%", JsonConvert.SerializeObject(result)) ); } else { result.Parameters.Add("Code", PaymentStatusToString(result.Status)); result.Parameters.Add("Description", result.Status.ToString()); result.Parameters.Add("HTML", File.ReadAllText(System.Web.HttpContext.Current.Request.MapPath(@"~\Services\Payment\error.html")) .Replace("%Result%", JsonConvert.SerializeObject(result)) ); } } catch (Exception) { } return result; }