设为首页 加入收藏

TOP

微信小程序支付(二)
2019-09-30 16:48:47 】 浏览:173
Tags:程序 支付
gt; MemcachedObjectCacheStrategy.Instance); } #endregion // DPBMARK_END #endregion #region 注册日志(按需,建议) register.RegisterTraceLog(ConfigWeixinTraceLog);//配置TraceLog #endregion /* 微信配置开始 * 建议按照以下顺序进行注册 */ //设置微信 Debug 状态 var isWeixinDebug = true; //全局设置参数,将被储存到 Senparc.Weixin.Config.SenparcWeixinSetting var senparcWeixinSetting = SenparcWeixinSetting.BuildFromWebConfig(isWeixinDebug); //也可以通过这种方法在程序任意位置设置微信的 Debug 状态: //Senparc.Weixin.Config.IsDebug = isWeixinDebug; //微信全局注册,必须!! register.UseSenparcWeixin(senparcWeixinSetting, senparcSetting) #region 注册公众号或小程序(按需) //注册公众号(可注册多个) -- DPBMARK MP .RegisterMpAccount(senparcWeixinSetting, "【盛派网络小助手】公众号")// DPBMARK_END //注册多个公众号或小程序(可注册多个) -- DPBMARK MiniProgram .RegisterWxOpenAccount(senparcWeixinSetting, "小程序名称")// DPBMARK_END //除此以外,仍然可以在程序任意地方注册公众号或小程序: //AccessTokenContainer.Register(appId, appSecret, name);//命名空间:Senparc.Weixin.MP.Containers #endregion // DPBMARK_END #region 注册微信支付(按需) -- DPBMARK TenPay //注册旧微信支付版本(V2)(可注册多个) .RegisterTenpayOld(senparcWeixinSetting, "标记名称")//这里的 name 和第一个 RegisterMpAccount() 中的一致,会被记录到同一个 SenparcWeixinSettingItem 对象中 //注册最新微信支付版本(V3)(可注册多个) .RegisterTenpayV3(senparcWeixinSetting, "标记名称")//记录到同一个 SenparcWeixinSettingItem 对象中 #endregion // DPBMARK_END // DPBMARK_END ; /* 微信配置结束 */
/// <summary>
        /// 配置微信跟踪日志
        /// </summary>
        private void ConfigWeixinTraceLog()
        {
            //Senparc.CO2NET.Config.IsDebug = false;

            //这里设为Debug状态时,/App_Data/WeixinTraceLog/目录下会生成日志文件记录所有的API请求日志,正式发布版本建议关闭
            Senparc.Weixin.WeixinTrace.SendCustomLog("系统日志", "系统启动");//只在Senparc.Weixin.Config.IsDebug = true的情况下生效

            //自定义日志记录回调
            Senparc.Weixin.WeixinTrace.OnLogFunc = () =>
            {
                //加入每次触发Log后需要执行的代码
            };

            //当发生基于WeixinException的异常时触发
            Senparc.Weixin.WeixinTrace.OnWeixinExceptionFunc = ex =>
            {
                //加入每次触发WeixinExceptionLog后需要执行的代码

                //发送模板消息给管理员
                var eventService = new EventService();
                eventService.ConfigOnWeixinExceptionFunc(ex);
            };
        }

 

   3)统一下单:

  *** 因实际代码设计隐私问题,因此剔除了,如有问题请联系我。

        public async Task<ActionResult> GetWxOpenPrepayid(string sessionId,string cost)
        {
            
            try
            {
                var sessionBag = SessionContainer.GetSession(sessionId);
                var openId = sessionBag.OpenId;

                //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一
                var sp_billno = string.Format("{0}{1}{2}", "商户号" /*10位*/, SystemTime.Now.ToString("yyyyMMddHHmmss"),
                        TenPayV3Util.BuildRandomStr(6));

                var timeStamp = TenPayV3Util.GetTimestamp();
                var nonceStr = TenPayV3Util.GetNoncestr();
                var price = Convert.ToInt32(Convert.ToDecimal(cost) * 100);//单位:分
              
                var xmlDataInfo = new TenPayV3UnifiedorderRequestData(
                    "小程序AppId", "小程序商户号", body, sp_billno,
                    price, "127.0.0.1", "回调地址", TenPayV3Type.JSAPI, openId, "小程序商户key", nonceStr, attach: "附加数据");

                var result = TenPayV3.Unifiedorder(xmlDataInfo);//调用统一订单接口

                //  WeixinTrace.SendCustomLog("统一订单接口调用结束", "请求:" + xmlDataInfo.ToJson() + "\r\n\r\n返回结果:"
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇(七十五)c#Winform自定义控件-.. 下一篇微信小程序支付

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目