Lua   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了微信移动支付V3开发详细教程服务端采用.net mvc webapi(C#)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
/// <sumMary>
        /// 生成微信支付签名,生成结果直接在可以端提交即可
        /// </sumMary>
        /// <returns></returns>
        public static String partnerid = ""; //PartnerID
        public static String partnerkey = ""; //PartnerKey
        public static String mchid = ""; //mchid
        public static String appId = ""; //appid
        public static String appsecret = ""; //appsecret
        public static String appkey = ""; //paysignkey(非appkey 在微信商户平台设置 (md5)111111111111) 
        public static String timestamp = ""; //时间戳
        public static String nonceStr = ""; //随机字符串
        public static String notify_url = "http://api.kwstu.com/Pay/WxNotifyUrl"; //支付完成后的回调处理页面,*替换成notify_url.asp所在路径
        public static String prepayId = ""; //预支付ID
        public static String sign = "";     //为了获取预支付ID的签名
        public static String paySign = "";  //进行支付需要的签名
        public static String package = "";  //进行支付需要的包
        public httpResponsemessage PostWxConfirmPay()
        {
                    //生成订单业务逻辑代码
 
 
 
 
 
 
                    //创建支付应答对象
                    var packageReqHandler = new requestHandler();
                    //初始化
                    packageReqHandler.init();
                    timestamp = TenpayUtil.gettimestamp();
                    nonceStr = TenpayUtil.getNoncestr();
                    //设置package订单参数
                    packageReqHandler.setParameter("appid",appId);
                    packageReqHandler.setParameter("body",unitBase.NAME + "于" + datetiR_836_11845@e.Now.ToString("yyyy-MM-dd") + "在线预订“" + zphBase.ZPHNAME + "”的" + zphZwservice.ZWID + "号展位,缴费" + price + "元。"); //商品信息 127字符
                    packageReqHandler.setParameter("mch_id",mchid);
                    packageReqHandler.setParameter("nonce_str",nonceStr.ToLower());
                    packageReqHandler.setParameter("notify_url",notify_url);
                    packageReqHandler.setParameter("out_trade_no",checkId); //商家订单号
                    packageReqHandler.setParameter("spbill_create_ip",httpContext.Current.request.UserHostAddress); //用户的公网ip,不是商户服务器IPhttpContext.Current.request.UserHostAddress
                    packageReqHandler.setParameter("@R_212_10586@l_fee",(int.Parse(pricE)*100).ToString()); //商品金额,以分为单位(money * 100).ToString()
                    packageReqHandler.setParameter("trade_type","APP");
                    //获取package包
                    sign = packageReqHandler.CreateMd5Sign("key",appkey);
                    packageReqHandler.setParameter("sign",sign);
                    String data = packageReqHandler.parseXML();
                    String prepayXml = httpUtil.Send(data,"https://api.mch.weixin.qq.com/pay/unifiedorder");
                    //获取预支付ID
                    var xdoc = new XmlDocument();
                    xdoc.LoadXml(prepayXml);
                    XmlNode xn = xdoc.SELEctSingleNode("xml");
                    XmlNodeList xnl = xn.ChildNodes;
                    if (xnl.Count > 7)
                    {
                        prepayId = xnl[7].InnerText;
                        package = String.Format("prepay_id={0}",prepayId);
                    }
                    //设置支付参数
                    var paySignReqHandler = new requestHandler();
                    paySignReqHandler.setParameter("appid",appId);
                    paySignReqHandler.setParameter("noncestr",nonceStr.ToLower());
                    paySignReqHandler.setParameter("package","Sign=WXPay");
                    paySignReqHandler.setParameter("partnerid",partnerid);
                    paySignReqHandler.setParameter("prepayid",prepayId);
                    paySignReqHandler.setParameter("timestamp",timestamp);
                    paySign = paySignReqHandler.CreateMd5Sign("key",appkey);
                    var reList = new List<WxPayListModel>();
                    var reModel = new WxPayListModel();
                    reModel.appid = appId;
                    reModel.noncestr = nonceStr.ToLower();
                    reModel.package = "Sign=WXPay";
                    reModel.partnerid = partnerid;
                    reModel.prepayid = prepayId;
                    reModel.timestamp = timestamp;
                    reModel.sign = paySign;
                    reList.Add(reModel);
 
        }

相关资料获取地址:https://item.taobao.com/item.htm?spm=686.1000925.0.0.AlZkml&id=524281028471
原文地址:http://www.kwstu.com/ArticleView/netmvc_201511132050268716

大佬总结

以上是大佬教程为你收集整理的微信移动支付V3开发详细教程服务端采用.net mvc webapi(C#)全部内容,希望文章能够帮你解决微信移动支付V3开发详细教程服务端采用.net mvc webapi(C#)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: