/// <summary> /// 企业付款到零钱 /// </summary> /// <param name="parameter"></param> /// <returns></returns> /// <exception cref="ArgumentNullException"></exception> public async Task <PayToWalletResponse> PayToWalletAsync(PayToWalletRequest parameter) { if (parameter == null) { throw new ArgumentNullException(nameof(parameter)); } if (string.IsNullOrEmpty(_password) || string.IsNullOrEmpty(_path)) { throw new InvalidOperationException("证书的路径和密码没有填写"); } parameter.AppId = _appId; parameter.MchId = _mchId; string url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"; parameter.Sign = WeChatSignHelper.CreateMd5Sign(parameter, _secretKey); string body = XmlSerializeHelper.ObjectToXmlString(parameter); string result = await _client.ExecutePostRequest(url, new Dictionary <string, string>(), body, _path, _password, "xml/text"); var response = XmlSerializeHelper.StringToObject <PayToWalletResponse>(result); Check(response); return(response); }
public async Task PayToChange() { string nonce = Caster.WeChat.Common.Helper.GetNonceStr(32); string orderCode = "1582626752709"; var parameter = new PayToWalletRequest { Nonce = nonce, OrderCode = orderCode, Amount = 100, Remark = "测试1分钱", CheckType = "NO_CHECK", UserName = "******", Ip = "123.185.180.28", OpenId = "oFQVa1dHuhLqYvvRk1NcJOyuS_sQ", DriverInfo = "" }; var result = await _web.PayService.PayToWalletAsync(parameter); Assert.True(result != null, "result!=null"); }