微信扫码支付官方下载demo 运行报错

u010071346 2015-09-28 05:07:09
...全文
430 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanyelong 2015-09-30
  • 打赏
  • 举报
回复
估计是post方法的参数错了。导致catch了。
正怒月神 版主 2015-09-30
  • 打赏
  • 举报
回复
刚刚做完支付功能,我把主要代码放上来 后台 //创建支付应答对象 RequestHandler packageReqHandler = new RequestHandler(null); //设置package订单参数 packageReqHandler.SetParameter("appid", AppId); //公众账号ID packageReqHandler.SetParameter("body", "乐淘精品"); packageReqHandler.SetParameter("mch_id", MachId); //商户号 packageReqHandler.SetParameter("nonce_str", nonceStr.ToLower()); //随机字符串 packageReqHandler.SetParameter("notify_url", CallbackUrl); //接收财付通通知的URL packageReqHandler.SetParameter("openid", openid); //openid packageReqHandler.SetParameter("out_trade_no", orderNo); //商家订单号 packageReqHandler.SetParameter("spbill_create_ip", Request.UserHostAddress); //用户的公网ip,不是商户服务器IP packageReqHandler.SetParameter("total_fee", actualTotal.ToString()); //商品金额,以分为单位(money * 100).ToString() packageReqHandler.SetParameter("trade_type", "JSAPI"); //交易类型 //获取package包 string sign = packageReqHandler.CreateMd5Sign("key", PaySignkey); packageReqHandler.SetParameter("sign", sign); //交易类型 string data = packageReqHandler.ParseXML(); var result = TenPayV3.Unifiedorder(data); var res = XDocument.Parse(result); string prepayId = ""; try { if (res.Element("xml").Element("return_code").Value == "SUCCESS") prepayId = res.Element("xml").Element("prepay_id").Value; } catch (Exception ex) { return View(); } package = string.Format("prepay_id={0}", prepayId); timeStamp = TenpayUtil.getTimestamp(); //设置支付参数 RequestHandler paySignReqHandler = new RequestHandler(null); paySignReqHandler.SetParameter("appId", AppId); paySignReqHandler.SetParameter("timeStamp", timeStamp); paySignReqHandler.SetParameter("nonceStr", nonceStr); paySignReqHandler.SetParameter("package", package); paySignReqHandler.SetParameter("signType", "MD5"); paySign = paySignReqHandler.CreateMd5Sign("key", PaySignkey); ViewData["myReward"] = myReward; ViewData["rewardList"] = rewardList; ViewData["appId"] = AppId; ViewData["timeStamp"] = timeStamp; ViewData["nonceStr"] = nonceStr; ViewData["package"] = package; ViewData["paySign"] = paySign; 前台 //a#getBrandWCPayRequest 这个是你确认提交的按钮 $(function () { //公众号支付 jQuery('a#getBrandWCPayRequest').click(function (e) { WeixinJSBridge.invoke('getBrandWCPayRequest', { "appId": "@ViewData["appId"]", //公众号名称,由商户传入 "timeStamp": "@ViewData["timeStamp"]", //时间戳 "nonceStr": "@ViewData["nonceStr"]", //随机串 "package": "@Html.Raw(ViewData["package"].ToString())",//扩展包 "signType": "MD5", //微信签名方式:1.sha1 "paySign": "@ViewData["paySign"]" //微信签名 }, function (res) { if (res.err_msg == "get_brand_wcpay_request:ok") { location.href = "../UserReward_WX/Index?orderId="+orderId; //alert("微信支付成功!"); } else if (res.err_msg == "get_brand_wcpay_request:cancel") { alert("用户取消支付!"); } else { alert(res.err_msg); alert("支付失败!"); } // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。 //因此微信团队建议,当收到ok返回时,向商户后台询问是否收到交易成功的通知,若收到通知,前端展示交易成功的界面;若此时未收到通知,商户后台主动调用查询订单接口,查询订单的当前状态,并反馈给前端展示相应的界面。 }); }); });
troy-zhou 2015-09-30
  • 打赏
  • 举报
回复
不是提示超时了吗?看一下请求的URL是否可用
KK3K2005 2015-09-28
  • 打赏
  • 举报
回复
人家错的文件 行号 都报出来了 还要怎么样

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧