微信扫码i支付~官方DEMO的坑

之前写过关于微信支付那些坑的文章(《微信JSApi支付~集成到MVC环境后的最后一个坑(网上没有这种解决方案)》,《微信JSApi支付~坑和如何填坑》),下面说一下微信官方提供的"扫码支付",一配置,一运行,生成了一个二维码,手机一扫,出现了"获取商户订单信息超时或商户返回httpcode非200",在百度上一问,都是说签名错误,当然我的签名一定没错,所以,还要自己找问题,经过了一翻测试与日志,终于找到了一个点,那就是关于字典类型的对象的判断上,判断一个没不在的键,然后使用这个键,然后就是失败,连异常都不报,晕!

下面是关于扫码支持用到的文件

简单说一下这几个文件的功能

NativePayPage.aspx:扫码支付发起页面

NativeNotifyPage.aspx:由微信服务端进行回调的页面,这个在公众平台进行设置(微信支持->开发设置->权限目录;微信支持->开发设置->支付回调)

ResultNotifyPage.aspx:处理微信订单信息,在WxPayConfig类里进行配置

最后,我们将官方的DEMO里的BUG注释一下, 支付就可以成功了

文件:WxPayData类的FromXml方法,把对应的代码注释即可,因为这时,m_values字典里根本没有return_code键,所以不能处理成功.

对于知识的研究,我们有时确实要多加后日志,请不要太相信大公司写的公开API,它们可能也有BUG!

 

你可能感兴趣的:(微信扫码i支付~官方DEMO的坑)