银联SOFTPOS客户端接口 C#例子

</pre><pre name="code" class="csharp">/// <summary>
        /// 银联接口
        /// </summary>
        /// <param name="r"></param>
        /// <param name="amt"></param>
        private void ExcutePayYHK_YS(DataRow r, decimal amt) 
        {

            try
            {
                //定长33字节 strin
                //内容	格式	域长	描   述
                //款台号	ASCII	10	不足右补空格(包括店号)
                //操作员号	ASCII	10	不足右补空格
                //交易类型标志	ASCII	1	
                //为C,表示是正数(消费交易);
                //为I,表示是正数(查询余额交易);
                //为D,表示是负数(取消交易);
                //为R,表示是负数(退货交易);
                //为0[零],表示(结帐、交易一览和重打票据),将出现菜单界面选择类型,如I接口不做,也可在此实现。
                //金额	ASCII	12	以分为单位,不足左补‘0’, 如果交易金额为”000000000000”,程程序将根据交易类型标志完成相应的操作,可以完成结帐,重打票据,交易一览,余额查询等功能
                //银石联银接口
               
                StringBuilder strin = new StringBuilder(88, 88); //开内存
                StringBuilder strout = new StringBuilder(33, 33);//开内存
                string gt1 = PosPublic.Cache.CashNo.posNo;//收银机号
                string gt2 = PosLoginer.CurrentUser.cash_no;//收银员
                strin.Append(gt1.PadRight(10, ' '));//填充10位
                strin.Append(gt2.PadRight(10, ' '));//填充10位
                if (amt > 0)//判断是否退货交易
                {
                    strin.Append("C");
                }
                else
                {
                    strin.Append("R");
                }
              
                string amt1 = Math.Abs(amt).ToString("0.00");//设置交易金额
                strin.Append(amt1.Replace(".", "").PadLeft(12, '0'));//填充为12位

                int ii = CreditTrans(strin, strout);//执行交易

                string ret = strout.ToString();//返回结果
                if (ret.Substring(0, 2) == "00") //判断结果00为成功,其它结果停留在原界面
                {
                    ExcutePayYHK(r,amt,1,ret.Substring(2,19)); //交易成功
                }

            }
            catch (Exception ex)
            {
                
                MessageBox.Show(ex.Message);
               
            }
        }


阅读更多

更多精彩内容