微信提现功能

   /// <summary>
        ///  体现
        /// </summary>
        /// <param name="storecode"></param>
        /// <param name="fee"></param>
        /// <param name="openid"></param>
        /// <param name="truename"></param>
        /// <returns></returns>
        //public ActionResult SubmitTransfers(string storecode, int fee, string openid, string truename)
        //{
        //    RequestHandler packageReqHandler = new RequestHandler(null);
        //    var nonceStr = TenPayV3Util.GetNoncestr();
        //    var sp_billno = DateTime.Now.ToString("HHmmss") + TenPayV3Util.BuildRandomStr(28);
        //    //设置package订单参数
        //    packageReqHandler.SetParameter("nonce_str", nonceStr);              //随机字符串
        //    packageReqHandler.SetParameter("mch_appid", AppId);  //商户号
        //    packageReqHandler.SetParameter("mchid", MchId);                 //填入商家订单号
        //    packageReqHandler.SetParameter("partner_trade_no", sp_billno);               //红包发送者名称
        //    packageReqHandler.SetParameter("openid", openid);           //打款的用户的openId
        //    packageReqHandler.SetParameter("check_name", "FORCE_CHECK");//强校验真实姓名              //付款金额,单位分
        //    packageReqHandler.SetParameter("re_user_name", truename);             //真实姓名
        //    packageReqHandler.SetParameter("amount", fee.ToString());               //金额    分
        //    packageReqHandler.SetParameter("desc", "微信提现");             //调用接口的机器Ip地址
        //    packageReqHandler.SetParameter("spbill_create_ip", Request.UserHostAddress); ;   //活动名称
        //    // packageReqHandler.SetParameter("sign",); ;   //活动名称
        //    string sign = packageReqHandler.CreateMd5Sign("key", TenPayV3_Key);
        //    packageReqHandler.SetParameter("sign", sign);                    //签名
        //    string data = packageReqHandler.ParseXML();


        //    string url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
        //    //本地或者服务器的证书位置(证书在微信支付申请成功发来的通知邮件中)
        //    string cert = @"~/App_data/cert/apiclient_cert.p12";
        //    //私钥(在安装证书时设置)
        //    string password = "";;
        //    //调用证书
        //    X509Certificate2 cer = new X509Certificate2(cert, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);
        //    ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
        //    //X509Certificate cer = new X509Certificate(cert, password);


        //    #region 发起post请求
        //    HttpWebRequest webrequest = (HttpWebRequest)HttpWebRequest.Create(url);
        //    webrequest.ClientCertificates.Add(cer);
        //    webrequest.Method = "post";


        //    byte[] postdatabyte = Encoding.UTF8.GetBytes(data);
        //    webrequest.ContentLength = postdatabyte.Length;
        //    Stream stream = webrequest.GetRequestStream();
        //    stream.Write(postdatabyte, 0, postdatabyte.Length);
        //    stream.Close();


        //    HttpWebResponse httpWebResponse = (HttpWebResponse)webrequest.GetResponse();
        //    StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream());
        //    string responseContent = streamReader.ReadToEnd();
        //    #endregion
        //    XmlDocument doc = new XmlDocument();
        //    doc.LoadXml(responseContent);


        //    var searchReturn = new WxTransfers();


        //    if (doc.SelectSingleNode("/xml/return_code") != null)
        //    {
        //        searchReturn.return_code = (doc.SelectSingleNode("/xml/return_code").InnerText.ToUpper() == "SUCCESS");
        //    }
        //    if (doc.SelectSingleNode("/xml/return_msg") != null)
        //    {
        //        searchReturn.return_msg = doc.SelectSingleNode("/xml/return_msg").InnerText;
        //    }


        //    if (searchReturn.return_code == true)
        //    {
        //        //redReturn.sign = doc.SelectSingleNode("/xml/sign").InnerText;
        //        if (doc.SelectSingleNode("/xml/result_code") != null)
        //        {
        //            searchReturn.result_code = (doc.SelectSingleNode("/xml/result_code").InnerText.ToUpper() == "SUCCESS");
        //        }


        //        if (searchReturn.result_code == true)
        //        {
        //            if (doc.SelectSingleNode("/xml/mch_appid") != null)
        //            {
        //                searchReturn.mch_appid = doc.SelectSingleNode("/xml/mch_appid").InnerText;
        //            }
        //            if (doc.SelectSingleNode("/xml/mchid") != null)
        //            {
        //                searchReturn.mchid = doc.SelectSingleNode("/xml/mchid").InnerText;
        //            }
        //            if (doc.SelectSingleNode("/xml/device_info") != null)
        //            {
        //                searchReturn.device_info = doc.SelectSingleNode("/xml/device_info").InnerText;
        //            }
        //            if (doc.SelectSingleNode("/xml/partner_trade_no") != null)
        //            {
        //                searchReturn.partner_trade_no = doc.SelectSingleNode("/xml/partner_trade_no").InnerText;
        //            }
        //            if (doc.SelectSingleNode("/xml/payment_no") != null)
        //            {
        //                searchReturn.payment_no = doc.SelectSingleNode("/xml/payment_no").InnerText;
        //            }
        //            if (doc.SelectSingleNode("/xml/payment_time") != null)
        //            {
        //                searchReturn.payment_time = doc.SelectSingleNode("/xml/payment_time").InnerText;
        //            }
        //        }
        //        else
        //        {
        //            if (doc.SelectSingleNode("/xml/err_code") != null)
        //            {
        //                searchReturn.err_code = doc.SelectSingleNode("/xml/err_code").InnerText;
        //            }
        //            if (doc.SelectSingleNode("/xml/err_code_des") != null)
        //            {
        //                searchReturn.err_code_des = doc.SelectSingleNode("/xml/err_code_des").InnerText;
        //            }
        //        }
        //    }
        //    if (searchReturn.result_code)
        //    {


        //        //生成提现记录


        //        LogHelper.Debug("", "", "微信现金提现-SCUESS", "Name");
        //    }
        //    else
        //    {
        //        LogHelper.Error("", "微信现金提现失败", searchReturn.err_code_des, JsonConvert.SerializeObject(searchReturn));
        //        return "";
        //    }


        //    return "";
        //}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信开发使用的cert,里面微信支付API共四份(证书pkcs12格式、证书pem格式、证书密钥pem格式、CA证书),为接口中强制要求时需携带的证书文件。 证书属于敏感信息,请妥善保管不要泄露和被他人复制。 不同开发语言下的证书格式不同,以下为说明指引: 证书pkcs12格式(apiclient_cert.p12) 包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份 部分安全性要求较高的API需要使用该证书来确认您的调用身份 windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户ID(如:10010000) 证书pem格式(apiclient_cert.pem) 从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制 部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供 您也可以使用openssl命令来自己导出:openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem 证书密钥pem格式(apiclient_key.pem) 从apiclient_cert.p12中导出密钥部分的文件,为pem格式 部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供 您也可以使用openssl命令来自己导出:openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem CA证书(rootca.pem) 微信支付api服务器上也部署了证明微信支付身份的服务器证书,您在使用api进行调用时也需要验证所调用服务器及域名的真实性 该文件为签署微信支付证书的权威机构的根证书,可以用来验证微信支付服务器证书的真实性 某些环境和工具已经内置了若干权威机构的根证书,无需引用该证书也可以正常进行验证,这里提供给您在未内置所必须根证书的环境中载入使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值