/// <summary>
/// 配置微信跟踪日志
/// </summary>
private void ConfigWeixinTraceLog()
{
//Senparc.CO2NET.Config.IsDebug = false;
//这里设为Debug状态时,/App_Data/WeixinTraceLog/目录下会生成日志文件记录所有的API请求日志,正式发布版本建议关闭
Senparc.Weixin.WeixinTrace.SendCustomLog("系统日志", "系统启动");//只在Senparc.Weixin.Config.IsDebug = true的情况下生效
//自定义日志记录回调
Senparc.Weixin.WeixinTrace.OnLogFunc = () =>
{
//加入每次触发Log后需要执行的代码
};
//当发生基于WeixinException的异常时触发
Senparc.Weixin.WeixinTrace.OnWeixinExceptionFunc = ex =>
{
//加入每次触发WeixinExceptionLog后需要执行的代码
//发送模板消息给管理员
var eventService = new EventService();
eventService.ConfigOnWeixinExceptionFunc(ex);
};
}
public async Task<ActionResult> GetWxOpenPrepayid(string sessionId,string cost)
{
try
{
var sessionBag = SessionContainer.GetSession(sessionId);
var openId = sessionBag.OpenId;
//生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一
var sp_billno = string.Format("{0}{1}{2}", "商户号" /*10位*/, SystemTime.Now.ToString("yyyyMMddHHmmss"),
TenPayV3Util.BuildRandomStr(6));
var timeStamp = TenPayV3Util.GetTimestamp();
var nonceStr = TenPayV3Util.GetNoncestr();
var price = Convert.ToInt32(Convert.ToDecimal(cost) * 100);//单位:分
var xmlDataInfo = new TenPayV3UnifiedorderRequestData(
"小程序AppId", "小程序商户号", body, sp_billno,
price, "127.0.0.1", "回调地址", TenPayV3Type.JSAPI, openId, "小程序商户key", nonceStr, attach: "附加数据");
var result = TenPayV3.Unifiedorder(xmlDataInfo);//调用统一订单接口
// WeixinTrace.SendCustomLog("统一订单接口调用结束", "请求:" + xmlDataInfo.ToJson() + "\r\n\r\n返回结果:"