zoukankan      html  css  js  c++  java
  • 微信开发 :WeixinPayInfoCollection尚未注册Mch 问题解决

    在使用开源项目 SENPARC.WEIXIN SDK 调用微信支付接口的时候出现了WeixinPayInfoCollection尚未注册Mch,这个问题。

    最后地解决方案是:

    我这个傻逼忘了在全局Global初始化TenPayV3InfoCollection

    只要在Global 添加以下代码

    //提供微信支付信息
    var tenPayV3_MchId = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_MchId"];
    var tenPayV3_Key = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_Key"];
    var tenPayV3_AppId = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_AppId"];
    var tenPayV3_AppSecret = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_AppSecret"];
    var tenPayV3_TenpayNotify = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_TenpayNotify"];

    var tenPayV3Info = new TenPayV3Info(tenPayV3_AppId, tenPayV3_AppSecret, tenPayV3_MchId, tenPayV3_Key,
    tenPayV3_TenpayNotify);
    TenPayV3InfoCollection.Register(tenPayV3Info);

    代码示例:

            private static TenPayV3Info _tenPayV3Info;
            /// <summary>
            /// v3 微信 支付模式属性
            /// </summary>
            public static TenPayV3Info TenPayV3Info
            {
                get
                {
                    if (_tenPayV3Info == null)
                    {
                        _tenPayV3Info =TenPayV3InfoCollection.Data[System.Configuration.ConfigurationManager.AppSettings["TenPayV3_MchId"]];
                    }
                    return _tenPayV3Info;
                }
            } 
    
            protected void Application_Start(object sender, EventArgs e)
            {
                RegisterWeixinPay();
            }
    
            //提供微信支付信息
            var tenPayV3_MchId = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_MchId"];
            var tenPayV3_Key = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_Key"];
            var tenPayV3_AppId = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_AppId"];
            var tenPayV3_AppSecret = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_AppSecret"];
            var tenPayV3_TenpayNotify = System.Configuration.ConfigurationManager.AppSettings["TenPayV3_TenpayNotify"];
    
            var tenPayV3Info = new TenPayV3Info(tenPayV3_AppId, tenPayV3_AppSecret, tenPayV3_MchId, tenPayV3_Key,tenPayV3_TenpayNotify);
            TenPayV3InfoCollection.Register(tenPayV3Info);

    webconfig 配置

        <!-- 微信支付V3 -->
        <add key="TenPayV3_MchId" value="TenPayV3_MchId"/>
        <add key="TenPayV3_Key" value="TenPayV3_Key"/>
        <add key="TenPayV3_AppId" value="TenPayV3_AppId"/>
        <add key="TenPayV3_AppSecret" value="TenPayV3_AppSecret"/>
        <add key="TenPayV3_TenpayNotify" value="TenPayV3_TenpayNotify"/>
  • 相关阅读:
    ajax同步和异步
    vue组件
    type of的返回值有哪些
    git配置
    vue 获取时间戳对象转换为日期格式
    JavaScript运行机制
    单页面开发首屏加载慢,白屏如何解决
    单页面和多页面开发的优缺点
    【安全测试】sql注入
    【Python学习一】使用Python+selenium实现第一个自动化测试脚本
  • 原文地址:https://www.cnblogs.com/twodog/p/12141458.html
Copyright © 2011-2022 走看看