public static JSAPITicket GetJSAPITicket(WeChatPayConfig config,AccessToken oldToken,JSAPITicket oldTicket, out bool changed)
 {
     changed = false;
     JSAPITicket ticket = null;
     bool needGet = false;
     JSAPITicketRequest request = null;
     if(oldTicket==null)
     {
         needGet = true;
     }
     else
     {
         if(oldTicket.ExpiresTime<DateTime.Now)
         {
             needGet = true;
         }
     }
     if(needGet)
     {
         changed = true;
         bool tChanged = false;
         request = new JSAPITicketRequest(config);
         AccessToken token = WeChatPaymentWrapper.GetWeChatToken(config,oldToken,out tChanged);
         request.Access_Token = token;
         BaseResponse res = request.Execute();
         if(res!=null)
         {
             JSAPITicketResponse jsRes = (JSAPITicketResponse)res;
             ticket = jsRes.Ticket;
         }
     }
     return ticket;
 }
 private static JSAPITicket RequestWeChatJsApiTicket()
 {
     JSAPITicket ticket = null;
     JSAPITicketRequest request = null;
     request = new JSAPITicketRequest(config);
     request.Access_Token = GetWeChatAccessToken();
     BaseResponse res = request.Execute();
     if (res != null)
     {
         JSAPITicketResponse jsRes = (JSAPITicketResponse)res;
         ticket = jsRes.Ticket;
     }
     if (ticket != null)
     {
         XMLUtil.SerializeObject(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Config\\WeChatJSAPITicket.xml"), ticket);
     }
     return ticket;
 }