示例#1
0
        public static BitmapSource GetQRCode(string content, int size, string paytype)
        {
            Bitmap bitmap  = QRCodeHelper.Create(content, size);
            IntPtr hbitmap = bitmap.GetHbitmap();
            bool   flag    = paytype == "weixin";
            Bitmap bitmap2;

            if (flag)
            {
                bitmap2 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "pic\\qrcode1.png");
            }
            else
            {
                bitmap2 = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "pic\\qrcode2.png");
            }
            IntPtr       hbitmap2 = bitmap2.GetHbitmap();
            Bitmap       bitmap3  = QRCodeHelper.MergeQrImg(bitmap, bitmap2, 0.23);
            IntPtr       hbitmap3 = bitmap3.GetHbitmap();
            BitmapSource result   = Imaging.CreateBitmapSourceFromHBitmap(hbitmap3, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());

            PayHelper.DeleteObject(hbitmap3);
            PayHelper.DeleteObject(hbitmap2);
            PayHelper.DeleteObject(hbitmap);
            bitmap3.Dispose();
            bitmap2.Dispose();
            bitmap.Dispose();
            return(result);
        }
示例#2
0
        private bool CreateCode()
        {
            bool result;

            try
            {
                bool flag = !PayHelper.IsLogin;
                if (flag)
                {
                    LoginResponseModel loginResponseModel;
                    PayHelper.Login(out loginResponseModel);
                }
                bool isLogin = PayHelper.IsLogin;
                if (isLogin)
                {
                    this.odNo = ConfigHelper.GetConfigValue("pay", "odNoHead").PadLeft(2, '0') + ConfigHelper.GetConfigValue("window", "deviceNo").PadLeft(2, '0') + ConfigHelper.GetConfigValue("window", "busNo").PadLeft(2, '0') + DateTime.Now.ToString("yyMMddHHmmss");
                    //   PayHelper.CodeSize = (int)this.zXingImg.Height;
                    string       text;
                    BitmapSource source;
                    bool         flag2 = PayHelper.CsbWeixinPay(this.odNo, this.parent.SelfHelpInfo.TicketPriceTotal * 100m, out this.refNo, out this.txnId, out text, out source);
                    bool         flag3 = flag2;
                    if (flag3)
                    {
                        //  this.zXingImg.Source = source;
                        result = true;
                        return(result);
                    }
                    //  this.zXingImg.Source = null;
                }
                result = false;
            }
            catch (Exception var_9_103)
            {
                result = false;
            }
            return(result);
        }
示例#3
0
        private bool CreateCode()
        {
            bool result;

            try
            {
                bool flag = !PayHelper.IsLogin;
                if (flag)
                {
                    LoginResponseModel loginResponseModel;
                    PayHelper.Login(out loginResponseModel);
                }
                bool isLogin = PayHelper.IsLogin;
                if (isLogin)
                {
                    //  PayHelper.CodeSize = (int)this.zXingImg.Height;
                    string       text;
                    BitmapSource source;
                    bool         flag2 = PayHelper.CsbZhiFuBaopay(this.odNo, this.parent.SelfHelpInfo.TicketPriceTotal * 100m, out this.refNo, out this.txnId, out text, out source);
                    bool         flag3 = flag2;
                    if (flag3)
                    {
                        //this.zXingImg.Source = source;
                        result = true;
                        return(result);
                    }
                    // this.zXingImg.Source = null;
                }
                result = false;
            }
            catch
            {
                result = false;
            }
            return(result);
        }
示例#4
0
 static PayHelper()
 {
     PayHelper.CodeSize = 260;
     PayHelper.batchNo  = string.Empty;
     PayHelper.InitCofig();
 }
示例#5
0
        public static bool CsbZhiFuBaopay(string odNo, decimal amount, out string refNo, out string txnId, out string response, out BitmapSource img)
        {
            img      = null;
            refNo    = string.Empty;
            txnId    = string.Empty;
            response = string.Empty;
            bool result;

            try
            {
                CsbZhiFuBaopayService csbZhiFuBaopayService = new CsbZhiFuBaopayService();
                csbZhiFuBaopayService.odNo        = odNo;
                csbZhiFuBaopayService.transAmount = amount;
                bool   flag = false;
                JArray jArray;
                while (true)
                {
                    string text = csbZhiFuBaopayService.DefContent();
                    response = text;
                    jArray   = (JsonConvert.DeserializeObject(text) as JArray);
                    bool flag2 = jArray == null;
                    if (flag2)
                    {
                        break;
                    }
                    bool flag3 = jArray.First["responseCode"].ToString() != "0";
                    if (!flag3)
                    {
                        goto IL_D2;
                    }
                    bool flag4 = jArray.First["responseCode"].ToString() == "21";
                    if (!flag4)
                    {
                        goto IL_CA;
                    }
                    bool flag5 = !flag;
                    if (!flag5)
                    {
                        goto IL_C9;
                    }
                    flag = true;
                    LoginResponseModel loginResponseModel;
                    bool flag6 = PayHelper.Login(out loginResponseModel);
                    if (!flag6)
                    {
                        goto IL_C8;
                    }
                }
                result = false;
                return(result);

IL_C8:
IL_C9:
IL_CA:
                result = false;
                return(result);

IL_D2:
                bool flag7 = jArray.First != null && jArray.First["data"] != null;
                if (flag7)
                {
                    JArray jArray2 = JsonConvert.DeserializeObject("[" + jArray.First["data"].ToString() + "]") as JArray;
                    bool   flag8   = jArray2 == null;
                    if (flag8)
                    {
                        result = false;
                    }
                    else
                    {
                        bool flag9 = jArray2.First["qrcodeResult"].ToString() != "SUCCESS";
                        if (flag9)
                        {
                            result = false;
                        }
                        else
                        {
                            refNo  = jArray2.First["refNo"].ToString();
                            txnId  = jArray.First["txnId"].ToString();
                            img    = PayHelper.GetQRCode(jArray2.First["qrcode"].ToString(), PayHelper.CodeSize, "alipay");
                            result = true;
                        }
                    }
                }
                else
                {
                    result = false;
                }
            }
            catch (Exception var_15_1C9)
            {
                result = false;
            }
            return(result);
        }