public void OnMessage(IMessage message) { object data = CreateDataObject(message); bool isPermKeyOk = false; //Israel 11/20/2015 -- Added support for permission keys. if (message.NMSType.ToUpper() == "SUMMARY") { SummaryData summaryData = data as SummaryData; isPermKeyOk = (String.IsNullOrEmpty(summaryData.PermissionKey)) || (v_PermKeyList.IndexOf(summaryData.PermissionKey) > -1); if (isPermKeyOk || v_IsSuperUser) { callback.Invoke(this, data); } } //Israel 12/16/2015 -- Message publisher was escaping the : character-- this removes it. else if (message.NMSType.ToUpper() == "CONFIRM") { TradeRqmtConfirm confirmData = data as TradeRqmtConfirm; if (!String.IsNullOrEmpty(confirmData.XmitAddr)) { confirmData.XmitAddr = confirmData.XmitAddr.Replace(@"\", ""); } callback.Invoke(this, data); } else { callback.Invoke(this, data); } message.Acknowledge(); //string testMessage = DateTime.Now.ToShortDateString() + ":" + DateTime.Now.ToLongTimeString() + ": " + message.ToString(); //File.AppendAllText(@"_MessageDump.txt", testMessage + Environment.NewLine); }
/// <summary> /// 使用指定的处理过程来处理微信支付结果通知的回调 /// </summary> /// <param name="callBack">设置处理方法,该方法需返回一个布尔值来指示处理是否成功</param> public static void NotifyCall(NotifyCallBack callBack) { bool flag = true; OrderPayResultParameters results = OrderPayResultParameters.RequestPares(); if (callBack != null) flag = callBack.Invoke(results); WxParameters paras = new WxParameters(); paras.SetValue("return_code", (flag ? "SUCCESS" : "FAIL")); paras.SetValue("return_msg", (flag ? "OK" : "UNIFIED ORDER ERROR")); HttpContext.Current.Response.Write(paras.ToXML()); }