Пример #1
0
        private static AopDictionary RequestBase(AlipayFormSetting setting, string method)
        {
            if (string.IsNullOrEmpty(setting.APPId))
            {
                throw new AliPayException("您的支付宝配置未能通过检查,详细信息:商户ID未指定!");
            }

            //SignType私钥检查
            if (string.IsNullOrEmpty(setting.SignType))
            {
                throw new AliPayException("您的支付宝配置未能通过检查,详细信息:签名类型未指定!");
            }

            //RSA私钥检查
            if (string.IsNullOrEmpty(setting.PrivateKey))
            {
                throw new AliPayException("您的支付宝配置未能通过检查,详细信息:未能获取到商户私钥!");
            }

            //RSA私钥格式检查
            RSA rsaCsp = AlipaySignature.LoadCertificateString(setting.PrivateKey, setting.SignType);

            if (rsaCsp == null)
            {
                throw new AliPayException("您的支付宝配置未能通过检查,详细信息:商户私钥格式错误,未能导入!");
            }

            var dic = new AopDictionary();

            dic.Add("app_id", setting.APPId);
            dic.Add("method", method);
            dic.Add("format", setting.Format);
            dic.Add("charset", setting.Charset);
            dic.Add("sign_type", setting.SignType);
            dic.Add("timestamp", DateTime.Now);
            dic.Add("version", setting.Version);

            return(dic);
        }