Exemplo n.º 1
0
 public Checkout(Client client) : base(client)
 {
     IsApiKeyRequired = true;
     _payments        = new Payments(this);
     _paymentMethods  = new PaymentMethods(this);
     _paymentDetails  = new PaymentDetails(this);
     _paymentSession  = new PaymentSession(this);
     _paymentsResult  = new PaymentsResult(this);
 }
Exemplo n.º 2
0
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            bool   selectedValue  = this.ooZFB.SelectedValue;
            bool   selectedValue2 = this.ooWX.SelectedValue;
            string empty          = string.Empty;
            string empty2         = string.Empty;
            string text           = this.txtZFBPID.Text;
            string text2          = this.txtZFBKey.Text;
            string text3          = this.txtWXAppId.Text.Trim();
            string text4          = this.txtWXMchId.Text.Trim();
            string text5          = this.txtWXAPIKey.Text.Trim();
            bool   flag           = false;

            if (string.IsNullOrEmpty(this.hdCertPath.Value))
            {
                flag = true;
            }
            if (selectedValue)
            {
                if (string.IsNullOrEmpty(text))
                {
                    this.ShowMsg("支付宝APPID不能为空", false);
                    return;
                }
                if (string.IsNullOrEmpty(text2))
                {
                    this.ShowMsg("支付宝开发者公钥不能为空", false);
                    return;
                }
            }
            if (selectedValue2)
            {
                if (string.IsNullOrEmpty(text3))
                {
                    this.ShowMsg("微信AppId不能为空", false);
                    return;
                }
                if (string.IsNullOrEmpty(text5))
                {
                    this.ShowMsg("微信API密钥不能为空", false);
                    return;
                }
                if (string.IsNullOrEmpty(text4))
                {
                    this.ShowMsg("微信商户号不能为空", false);
                    return;
                }
                if (flag && this.fuWXCertPath.PostedFile.ContentLength == 0)
                {
                    this.ShowMsg("请上传微信API证书", false);
                    return;
                }
            }
            SiteSettings masterSettings = SettingsManager.GetMasterSettings();

            masterSettings.EnableHiPOSWX  = selectedValue2;
            masterSettings.EnableHiPOSZFB = selectedValue;
            if (masterSettings.EnableHiPOSWX)
            {
                this.ulWX.Style.Add("display", "block");
                masterSettings.HiPOSWXAppId  = text3;
                masterSettings.HiPOSWXAPIKey = text5;
                masterSettings.HiPOSWXMchId  = text4;
                if (this.fuWXCertPath.PostedFile.ContentLength > 0)
                {
                    string text6 = Globals.PhysicalPath("\\Storage\\master\\HiPOS\\");
                    if (!Globals.PathExist(text6, false))
                    {
                        Globals.CreatePath(text6);
                    }
                    if (Globals.ValidateCertFile(this.fuWXCertPath.PostedFile.FileName))
                    {
                        string text7 = text6 + this.fuWXCertPath.FileName;
                        this.fuWXCertPath.PostedFile.SaveAs(text7);
                        masterSettings.HiPOSWXCertPath = text7.Replace("\\", "/").Replace("//", "/").Replace("/", "\\");
                        goto IL_0340;
                    }
                    this.ShowMsg("非法的证书文件", false);
                    return;
                }
                if (!string.IsNullOrEmpty(this.hdCertPath.Value) && string.IsNullOrEmpty(masterSettings.HiPOSWXCertPath))
                {
                    string text9 = masterSettings.HiPOSWXCertPath = this.hdCertPath.Value.Replace("删除重传", string.Empty).Trim();
                }
            }
            else
            {
                masterSettings.HiPOSWXAppId    = string.Empty;
                masterSettings.HiPOSWXCertPath = string.Empty;
                masterSettings.HiPOSWXMchId    = string.Empty;
                masterSettings.HiPOSWXAPIKey   = string.Empty;
            }
            goto IL_0340;
IL_0340:
            if (masterSettings.EnableHiPOSZFB)
            {
                this.ulZFB.Style.Add("display", "block");
                masterSettings.HiPOSZFBKey = text2;
                masterSettings.HiPOSZFBPID = text;
            }
            else
            {
                masterSettings.HiPOSZFBKey = string.Empty;
                masterSettings.HiPOSZFBPID = string.Empty;
            }
            SettingsManager.Save(masterSettings);
            string wxPayCert = string.Empty;

            if (File.Exists(masterSettings.HiPOSWXCertPath))
            {
                FileStream fileStream = File.OpenRead(masterSettings.HiPOSWXCertPath);
                byte[]     array      = new byte[fileStream.Length];
                fileStream.Read(array, 0, (int)fileStream.Length);
                fileStream.Close();
                wxPayCert = Globals.UrlEncode(Convert.ToBase64String(array));
            }
            HiPOSHelper    hiPOSHelper    = new HiPOSHelper();
            string         filename       = base.Server.MapPath("~/config/rsa_private_key.pem");
            PaymentsResult paymentsResult = hiPOSHelper.SetPayments(masterSettings.HiPOSAppId, masterSettings.HiPOSMerchantId, masterSettings.HiPOSZFBPID, masterSettings.HiPOSWXAppId, masterSettings.HiPOSWXMchId, masterSettings.HiPOSWXAPIKey, wxPayCert, filename);

            if (paymentsResult.error == null)
            {
                this.ShowMsg("提交商户支付方式成功", true, "SetHiPOS.aspx");
            }
            else
            {
                this.ShowMsg(paymentsResult.error.message, false);
            }
        }