public async Task <object> ApplyMent() { HttpClient client = new HttpClient(); var applyment = new ApplyMentDto(); applyment.BusinessCode = "X00000000001"; applyment.ContactInfo = new ApplyMentContactInfoDto() { ContactName = "张三", // OpenId = "1312321", ContactIdNumber = "511111111111111111", MobilePhone = "13333333333", ContactEmail = "*****@*****.**", }; applyment.SubjectInfo = new ApplyMentSubjectInfo() { SubjectType = "SUBJECT_TYPE_INDIVIDUAL", BusinessLicenseInfo = new ApplyMentBusinessLicenseInfo() { LicenseCopy = "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk", LicenseNumber = "91440300MA5EYUKH2K", MerchantName = "张三餐饮店", LegalPerson = "张三" }, IdentityInfo = new ApplyMentIdentityInfo() { IdDocType = "IDENTIFICATION_TYPE_IDCARD", IdCardInfo = new ApplyMentIdCardInfo() { IdCardCopy = "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk", IdCardNational = "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk", IdCardName = "张三", IdCardNumber = "511111111111111111", CardPeriodBegin = "2010-01-01", CardPeriodEnd = "长期", }, Owner = true }, }; applyment.BusinessInfo = new ApplyMentBusinessInfo() { MerchantShortName = "张三餐饮店", ServicePhone = "13333333333", SalesInfo = new ApplyMentSalesInfo() { SalesScenesType = new List <string>() { "SALES_SCENES_STORE" }, BizStorInfo = new ApplyMentBizStorInfo() { BizStoreName = "张三餐饮店", BizAddressCode = "440305", BizStoreAddress = "南山区xx大厦x层xxxx室", StoreEntrancePic = new List <string>() { "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk" }, IndoorPic = new List <string>() { "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk" } } } }; applyment.SettlementInfo = new ApplyMentSettlementInfo() { SettlementId = "719", QualificationType = "餐饮", Qualifications = new List <string>() { "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk" }, ActivitiesAdditions = new List <string>(), }; string publicKeyStr = @" MIID9jCCAt6gAwIBAgIUTx7IYrSYLGnDvK40/E02coyFez4wDQYJKoZIhvcNAQEL BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg Q0EwHhcNMjAwNjAxMDIxNTM4WhcNMjUwNTMxMDIxNTM4WjCBhzETMBEGA1UEAwwK MTU5NjQ2MjYwMTEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTMwMQYDVQQL DCrph43luobmsYflmInml7bku6PnlLXlrZDllYbliqHmnInpmZDlhazlj7gxCzAJ BgNVBAYMAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAK56vu6O9vBB+MOg8MLmT3qg16ICErXoHgRklfWK/bFql9p5 WVMcTddRCZbewVxmTswLfNAreqPlJWtWQPjV2D8p0qhbHnz07vkybeqEqX2epHaO 2HTuu4ASTd1spE1tLUm+telrWssOz/LuQ3N2h6EXK16SlNsLBW+GBEVgbrkQIz8k TqAe/ZOk5ywO2/PYP4x15LiXddGCJB+SG1F1E/n2bBr7AjsE1YimEcxtBD0puX9+ TGUiyMzlFl0snaKXoNhx4F6JMtfYilaiK1zmwNmmfA1h9lVAS78lQAtflTgEr0gn AlG8ruUo9JNdikLhH5fGvUKcIV3Qgt/2XJQwKfMCAwEAAaOBgTB/MAkGA1UdEwQC MAAwCwYDVR0PBAQDAgTwMGUGA1UdHwReMFwwWqBYoFaGVGh0dHA6Ly9ldmNhLml0 cnVzLmNvbS5jbi9wdWJsaWMvaXRydXNjcmw/Q0E9MUJENDIyMEU1MERCQzA0QjA2 QUQzOTc1NDk4NDZDMDFDM0U4RUJEMjANBgkqhkiG9w0BAQsFAAOCAQEABy+maotA Ye2//1fwzrFirwAaduzVY+HINd8gzhj59YpYMaB2QQ1pm6gLutNpRsjqUYvYyAEi Cbd0J1MI5XhlE+hJn9zzqvivXgW9ySHPcE4dbUzsj0rAtCn3/8KrDI3oK25tMHll gmuN720WQu+Q3FZ+wif4exYUwuHO0+yrqqg3KrP4ReU/O5c3VjxFu/YKLyTCajXc dgOnXMjvxbTmum3PZdRH2Biu9LXLcy/1PDPpSqTEJ7Clh6gs0ARRzmXVP38tTMfw W5ZvS0R4mIlA5C5cjc7WEtijNh4coYEpaloNBGRnnYi6tkfpgPWKDThorrbnfTtC 7IX2aTdgjG+b8g== "; applyment.Encrypt(Encoding.UTF8.GetBytes(publicKeyStr)); // var jsonStr = JsonConvert.SerializeObject(applyment); var jsonStr = JsonSerializer.Serialize(applyment); var mchid = _configuration.GetValue <string>("WxPay:MchId"); var serial_no = _configuration.GetValue <string>("WxPay:SerialNo"); var nonce_str = Guid.NewGuid().ToString(); TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); var timestamp = Convert.ToInt64(ts.TotalSeconds).ToString(); var path = _hostEnvironment.ContentRootPath + _configuration.GetValue <string>("WxPay:CertPath"); //var signature = SignUtil.GetSign("POST", "/v3/applyment4sub/applyment", nonce_str, jsonStr, path // , _configuration.GetValue<string>("WxPay:CertPwd")); //var authorization = // $"mchid=\"{mchid}\",serial_no=\"{serial_no}\",nonce_str=\"{nonce_str}\",timestamp=\"{timestamp}\",signature=\"{signature}\""; HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "https://api.mch.weixin.qq.com/v3/applyment4sub/applyment/"); request.Content = new StringContent(jsonStr, Encoding.UTF8, "application/json"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("WECHATPAY2-SHA256-RSA2048", await BuildAuthAsync(request, mchid, serial_no, nonce_str)); // var serialNo = _configuration.GetValue<string>("WxPay:SerialNo"); client.DefaultRequestHeaders.Add("Wechatpay-Serial", "7796A62C45F1F83B0B8F5ED5989DE9125D74BD34"); client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // client.DefaultRequestHeaders.Add("Content-Type", "application/json"); // client.DefaultRequestHeaders. // var response = await client.PostAsync(new Uri("https://api.mch.weixin.qq.com/v3/applyment4sub/applyment/"), byteContent); var response = await client.SendAsync(request); var result = await response.Content.ReadAsStringAsync(); if (response.StatusCode != HttpStatusCode.OK) { //logger.Error($"GetAsync End, url:{url}, HttpStatusCode:{response.StatusCode}, result:{result}"); // return new T(); } return(null); }
public async Task <object> ApplyMent() { var nonce = GenerateNonce(); #region 入数据 var applyment = new ApplyMentDto(); applyment.BusinessCode = "X00000000001"; applyment.ContactInfo = new ApplyMentContactInfoDto() { ContactName = "张三", // OpenId = "1312321", ContactIdNumber = "511111111111111111", MobilePhone = "13333333333", ContactEmail = "*****@*****.**", }; applyment.SubjectInfo = new ApplyMentSubjectInfo() { SubjectType = "SUBJECT_TYPE_INDIVIDUAL", BusinessLicenseInfo = new ApplyMentBusinessLicenseInfo() { LicenseCopy = "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk", LicenseNumber = "91440300MA5EYUKH2K", MerchantName = "张三餐饮店", LegalPerson = "张三" }, IdentityInfo = new ApplyMentIdentityInfo() { IdDocType = "IDENTIFICATION_TYPE_IDCARD", IdCardInfo = new ApplyMentIdCardInfo() { IdCardCopy = "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk", IdCardNational = "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk", IdCardName = "张三", IdCardNumber = "511111111111111111", CardPeriodBegin = "2010-01-01", CardPeriodEnd = "长期", }, Owner = true }, }; applyment.BusinessInfo = new ApplyMentBusinessInfo() { MerchantShortName = "张三餐饮店", ServicePhone = "13333333333", SalesInfo = new ApplyMentSalesInfo() { SalesScenesType = new List <string>() { "SALES_SCENES_STORE" }, BizStorInfo = new ApplyMentBizStorInfo() { BizStoreName = "张三餐饮店", BizAddressCode = "440305", BizStoreAddress = "南山区xx大厦x层xxxx室", StoreEntrancePic = new List <string>() { "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk" }, IndoorPic = new List <string>() { "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk" } } } }; applyment.SettlementInfo = new ApplyMentSettlementInfo() { SettlementId = "719", QualificationType = "餐饮", Qualifications = new List <string>() { "tV7icXfN8VX58X0D187-NV08cFGRlx6LPg261cpQDI-asaq-0MXen3N7OVE5lDbStaS8nBBbBlv6hL3er8bDK-djRp4PtWGArfr9Numqxsk" }, ActivitiesAdditions = new List <string>(), }; applyment.Encrypt(GetPublicCertificate().PublicKey.Key as RSA); #endregion 入数据 var jsonContent = JsonConvert.SerializeObject(applyment); //.Serialize(applyment); var httpHandler = new HttpHandler(_mchId, _serialNo, GetPublicCertificate().SerialNumber, GetPrivateCertificate(), GetMerchantCertificate()); var client = new HttpClient(httpHandler); var request = new HttpRequestMessage(HttpMethod.Post, "https://api.mch.weixin.qq.com/v3/applyment4sub/applyment/") { Content = new StringContent(jsonContent, Encoding.UTF8, "application/json") }; var response = await client.SendAsync(request); var result = await response.Content.ReadAsStringAsync(); if (response.StatusCode != HttpStatusCode.OK) { } return(string.Empty); }