首页 > ASP.net教程

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

2016-12-29 18:01:20

在使用开源项目 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"/>