Exemple #1
0
        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;
        }