Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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");
        }