- 现在现在读取成员信息时,不能显示 department 内容了吗?
https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&userid=USERID 现在通讯录的 secret 不能用了,只能用创建应用的 secret,但发现获取的 department 是空的呢,文档说的“不再返回以下字段”,没包括部门啊,请问怎么获取人员对应的部门呢?
2023-05-24 - 【微信jsApi 支付】微信内H5调起支付时,提示“验证签名失败”
统一下单已通过,也设置了sign_type是 MD5,并且获取到了 prepay_id,然后将参数传递到前段js,就提示验证签名失败,查了好多帖子都不成。请高手指点下。 C# 后端代码: [代码]WxPayData result = WxPayApi.UnifiedOrder(data);[代码][代码]//调用统一下单接口[代码][代码] [代码] [代码] [代码][代码]string[代码] [代码]S_return_code = result.GetValue([代码][代码]"return_code"[代码][代码]).ToString();[代码][代码] [代码][代码]//return Content(S_return_code);[代码][代码] [代码][代码]if[代码] [代码](S_return_code == [代码][代码]"SUCCESS"[代码][代码])[代码][代码] [代码][代码]{[代码] [代码] [代码][代码]string[代码] [代码]timeStamp = ConvertDateTimeInt(DateTime.Now).ToString();[代码][代码] [代码][代码]ViewData[[代码][代码]"timeStamp"[代码][代码]] = timeStamp;[代码] [代码] [代码][代码]string[代码] [代码]prepay_id = result.GetValue([代码][代码]"prepay_id"[代码][代码]).ToString();[代码][代码] [代码][代码]ViewData[[代码][代码]"prepay_id"[代码][代码]] = prepay_id;[代码] [代码] [代码][代码]string[代码] [代码]S_return_code_appid = result.GetValue([代码][代码]"appid"[代码][代码]).ToString();[代码][代码] [代码][代码]ViewData[[代码][代码]"appid"[代码][代码]] = S_return_code_appid;[代码] [代码] [代码][代码]//string S_return_code_nonceStr = result.GetValue("nonce_str").ToString();[代码][代码] [代码][代码]string[代码] [代码]S_return_code_nonceStr = nonceStr;[代码][代码] [代码][代码]ViewData[[代码][代码]"nonceStr"[代码][代码]] = S_return_code_nonceStr;[代码] [代码] [代码][代码]//string pay_stringA = "appId=" + S_return_code_appid + "&timeStamp=" + timeStamp + "&nonceStr=" + S_return_code_nonceStr + "&package=prepay_id=" + prepay_id + "&signType=MD5";[代码][代码] [代码][代码]string[代码] [代码]pay_stringA = [代码][代码]"appid="[代码] [代码]+ S_return_code_appid + [代码][代码]"&nonceStr="[代码] [代码]+ S_return_code_nonceStr + [代码][代码]"&package=prepay_id="[代码] [代码]+ prepay_id + [代码][代码]"&signType=MD5&timeStamp="[代码] [代码]+ timeStamp;[代码][代码] [代码][代码]string[代码] [代码]pay_SignTemp = pay_stringA + [代码][代码]"&key="[代码] [代码]+ S_key;[代码][代码] [代码][代码]//return Content(pay_SignTemp);[代码] [代码] [代码][代码]string[代码] [代码]S_paySign = MakeSign(pay_SignTemp);[代码][代码] [代码][代码]//string S_paySign = result.GetValue("sign").ToString();[代码][代码] [代码][代码]ViewData[[代码][代码]"S_paySign"[代码][代码]] = S_paySign;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]else[代码][代码] [代码][代码]{[代码][代码] [代码][代码]Response.Redirect([代码][代码]"/error/?s_err="[代码] [代码]+ HttpUtility.UrlEncode([代码][代码]"支付失败。"[代码][代码]));[代码][代码] [代码][代码]Response.End();[代码][代码] [代码][代码]}[代码]前段代码: [代码]function[代码] [代码]onBridgeReady(){[代码][代码] [代码][代码]WeixinJSBridge.invoke([代码][代码] [代码][代码]'getBrandWCPayRequest'[代码][代码], {[代码][代码] [代码][代码]"appId"[代码][代码]:[代码][代码]"@ViewData["[代码][代码]appid[代码][代码]"]"[代码][代码], [代码][代码]//公众号名称,由商户传入[代码][代码] [代码][代码]"nonceStr"[代码][代码]:[代码][代码]"@ViewData["[代码][代码]nonceStr[代码][代码]"]"[代码][代码], [代码][代码]//随机串[代码][代码] [代码][代码]"package"[代码][代码]:[代码][代码]"prepay_id=@ViewData["[代码][代码]prepay_id[代码][代码]"]"[代码][代码],[代码][代码] [代码][代码]"signType"[代码][代码]: [代码][代码]"MD5"[代码][代码], [代码][代码]//微信签名方式:[代码][代码] [代码][代码]"timeStamp"[代码][代码]:[代码][代码]"@ViewData["[代码][代码]timeStamp[代码][代码]"]"[代码][代码], [代码][代码]//时间戳,自1970年以来的秒数[代码][代码] [代码][代码]"paySign"[代码][代码]:[代码][代码]"@ViewData["[代码][代码]S_paySign[代码][代码]"]"[代码] [代码]//微信签名[代码][代码] [代码][代码]},[代码][代码] [代码][代码]function[代码][代码](res){[代码][代码] [代码][代码]if[代码][代码](res.err_msg == [代码][代码]"get_brand_wcpay_request:ok"[代码] [代码]){[代码][代码] [代码][代码]// 使用以上方式判断前端返回,微信团队郑重提示:[代码][代码] [代码][代码]//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码]接口调试工具https://pay.weixin.qq.com/wiki/tools/signverify/ 也检测过二次签名的 Sign 是正确的。就不明白了,为什么一直提示“验证签名失败”。 nonceStr 的数值也是统一下单时生成的随机串。 key 也没有问题,做NATIVE支付时是成功的。 请问还有哪会出现问题啊。
2019-09-27