微信开发官方Demo(C#版本) 坑死人

本人于2016年7月12号从微信官网下载了 WxPayAPI_CS_v3 ,  C#版本的Demo程序,现在来分享下腾讯是多么的坑爹.

第1个坑: JSAPI Demo.  JsApiPayPage.aspx 页面中 如下代码

//调用微信JS api 支付

function jsApiCall()

{
WeixinJSBridge.invoke(
‘getBrandWCPayRequest‘,
<%=wxJsApiParam%>,//josn串
function (res)
{
WeixinJSBridge.log(res.err_msg);
alert(res.err_code + res.err_desc + res.err_msg);
}
);
}

<form runat="server">
<br/>
<div align="center">
<br/><br/><br/>
<asp:Button ID="submit" runat="server" Text="立即支付" OnClientClick="callpay()" style="width:210px; height:50px; border-radius: 15px;background-color:#00CD00; border:0px #FE6714 solid; cursor: pointer; color:white; font-size:16px;" />
</div>
</form>

请注意Button采用的是服务端控件,当触发点击的时候会引起页面回传导致 <%=wxJsApiParam%>,//josn串 为空,解决办法很简单,使用html button即可

<button onclick="callpay()" type="button">立即支付</button>

还有要注意的是: 微信web开发者工具V0.7.0 中不支持JSAPI调试, 所以大家还是用手机在微信端调试吧.

第2个坑  扫码支付模式一:

公众平台设置好 :支付授权目录 和 扫码支付回调URL.

大家看代码:  lib\Data.cs 中 第112行 FromXml函数中

112: public SortedDictionary<string, object> FromXml(string xml)

if(m_values["return_code"] != "SUCCESS")
{
  return m_values;
}

SortedDictionary<string, object> m_values ; 这是 m_values的声明

m_values["return_code"] 取出来的数据是Object,如此不严谨的代码导致了异常.解决办法:

首先判断 key是否存在,然后在做类型转换.

最后完美解决了支付问题。 最后吐槽下 腾讯的程序员们,做个Demo出来能先测试下不?以后我个人是不会再使用微信支付了,程序员都如此,真不敢相信微信支付的安全.

时间: 2024-08-04 19:57:28

微信开发官方Demo(C#版本) 坑死人的相关文章

微信支付官方.net版之坑你没商量

//来源:http://www.cnblogs.com/ancms/p/4571567.html 微信支付官方.net版之坑你没商量 最近开始弄支付这块,先是支付宝手机网站支付,也是坑了我许久,不过还好,问题不大. 让我们看看微信支付有多少坑 微信商户平台,你们知道么(我前天才知道,别笑我) 登录地址:https://mch.weixin.qq.com 我查了很久,才知道,原来,帐号密码,发到你开户的邮箱里了,然后,我翻啊翻,终于让我找到帐号密码了. 实在不明白,帐号为嘛是:[email pro

微信开发资料大全 java版本;教程文档、代码、视频

一.官网 1.1 账号申请 https://mp.weixin.qq.com 1.2 开发者模式 1.1 登录后,选择开发者中心 1.3 测试账号申请 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 1.4 开发接口文档 http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 1.5 调试工具接口 http://mp.weixin.qq.

【Unity】微信支付官方安卓Demo的使用问题

Unity3d使用微信支付是属于APP内发起支付调用的情况,其本质上是在安卓项目上使用微信SDK,安卓项目开发完成后再导入到Unity中作为Unity插件使用,即Unity中C#调用安卓(Java)代码的流程. 微信官方给出的支付Demo在这里,但是使用过程中遇到很多坑,网上类似的文章很多,但大多年代久远,不清楚其他人做安卓微信支付是否也是踩着这些坑过来的,总之记录下来方便以后再遇到. 首先,该Demo居然是个远古时代的Eclipse(基于ADT插件)的安卓项目!你可以选择下载Eclipse和A

C#开发微信.NET平台MVC微信开发 发送普通消息Demo以及收不到消息的问题

不得不说现在微信非常火,微信开放平台可以自己写程序跟用户交互,节省了前台开发成本,免去用户装客户端的烦恼.于是今天兴致来潮,想做一个试试. 首先找到了开发者文档,看了看,蛮简单的.(公众号早已申请,有兴趣可以关注看看:zyjsoft) 第一步(提供接口,供微信调用,由于是HTTP请求,于是我用MVC模式做了一个简单的接口): //认证接口 public ActionResult WeiXin(string signature, string timestamp, string nonce, st

微信小程序入门——怎么建多个项目?(导入官方Demo程序进行学习)

昨天1月9日微信小程序发布,顿时被朋友圈刷爆,今天看了一下官方文档,自己开始一步一步搭建环境体验小程序开发. 常见问题: 1.微信小程序开发是否需要重新创建开发者账号? 需要,即使之前申请了微信服务号,并认证过,也需要重新申请小程序. 在微信公众平台官网首页(mp.weixin.qq.com)点击右上角的“立即注册”按钮.选择“小程序”,按提示步骤注册即可. 2.个人能否申请小程序? 不能,目前只支持企业.个体工商户.政府.媒体.其他组织. 3.没有资格申请小程序,能否开始小程序开发? 可以,下

[微信开发] - 使用普通扫码登录获取用户信息,非开放平台版本

微信平台扫码登录时,因为开放平台的openid与原系统不一致,所以使用了原公众平台二维码扫码后获取用户openid,继而转链接形式. 油腻腻的大猪蹄进行测试 oysIt005E1TDKTKIdc8TmR6VTViA < 使用开放平台的登录二维码扫码获取的openid o4mIl1jXCq4b2MkQ0tTZTzKzl2XY < 微信平台获取的openid o4mIl1jXCq4b2MkQ0tTZTzKzl2XY < 扫码临时二维码获取的openid 大致流程: 用户点击微信登录->

Java微信开发-崔用志-微信开发-java版本

  今天看到一些关于微信开发的知识蛮好的博客,分享给大家,希望对大家有帮助. 微信开发准备(一)--Maven仓库管理新建WEB项目 微信开发准备(二)--springmvc+mybatis项目结构的搭建 微信开发准备(三)--框架以及工具的基本使用 Mybatis工具Generator 微信开发准备(四)--nat123内网地址公网映射实现 Java微信公众平台开发(一)--接入微信公众平台 Java微信公众平台开发(二)--微信服务器post消息体的接收 Java微信公众平台开发(三)--接

基于SpringBoot的开源微信开发平台,Jeewx-Boot 1.0 版本发布

项目介绍 JeewxBoot 是一款基于SpringBoot的免费微信开发平台.支持微信公众号.小程序官网.微信抽奖活动. Jeewx-Boot实现了微信公众号管理.小程序CMS.微信抽奖活动等基础功能,便于二次开发,可以快速搭建微信应用!Jeewx-Boot独创插件开发机制,实现了每一抽奖活动(砸金蛋.刮刮乐.砍价等).官网.商城都是一个独立的插件,对JAVA来讲就是一个JAR包,可以很方便的做插拔,最终打造像discuzz.微擎一样的插件生态圈.. Jeewx-Boot诞生的目的 Jeewx

&#24494;&#20449;JSSDK&#19982;&#24405;&#38899;&#30456;&#20851;&#30340;&#22353;

微信JSSDK与录音相关的坑 最近一直在做微信JSSDK与录音相关的功能开发, 遇到了各种奇尺大坑, 时不时冷不丁地被坑一道, 让我时常想嘶吼: "微信JSSDK就是个大腊鸡!!!!!!!!!!" 现在工作得到阶段性成果, 有时间休息总结下, 故来整理一下这段时间碰到的bug, 希望做个前车之鉴, 劝大家谨慎入坑. checkJsApi 功能: 判断当前客户端版本是否支持指定JS接口 转载:  http://www.fwqtg.net/%E5%BE%AE%E4%BF%A1jssdk%E