微信开发 :WeixinPayInfoCollection尚未注册Mch 问题解决

Posted huangenai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信开发 :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"/>

 

以上是关于微信开发 :WeixinPayInfoCollection尚未注册Mch 问题解决的主要内容,如果未能解决你的问题,请参考以下文章

微信web开发者工具怎么用 微信web开发者工具使用方法

微信web开发者工具如何进行调试微信网页授权

HBuilderX运行到微信开发者工具

微信web开发者工具怎么使用

vue和微信开发者工具哪个好用

微信web开发者工具怎么调试网页