有使用WinInet或者WinHttp开发微信支付对接的吗?求救!!只有这么多分了,每天上线挣钱再加分

wonly3 2016-03-29 05:34:35
我是用C++开发的微信支付后台,使用WinInet开发微信支付后台对接,遇到问题后又尝试用WinHttp,但还是遇到同样的问题。
目前只是做初步连接与基础收发的尝试。访问统一下单的接口连接https://api.mch.weixin.qq.com/pay/unifiedorder,不论我body/Optional填写的什么内容,在WinHttpSendRequest/HttpSendRequest调用后都会失败,GetLastError()的数据是12044,其意为The server is requesting client authentication.(服务器请求客户端身份验证。 ),不知道这个是否要求证书。根据微信开发接口文档和技术支持的回复是不需要证书。但这个所谓的authentication(认证)到底是需要做什么呢?直接在浏览器访问https://api.mch.weixin.qq.com/pay/unifiedorder,都可以看到回复的消息。难道C++和WinInet/WinHttp的访问方式有什么问题吗?而同样的访问方式和内容,连接到https://openapi.alipay.com/gateway.do,就能够成功调用。
这个12044已经折腾了几天,完全不知所以然。特来求救!
分只有这么多了,等问题解决了,再增加分。
...全文
252 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
subp520 2016-11-13
  • 打赏
  • 举报
回复
您好,恭喜您解决了问题,能详细说一下安装微信证书及设置证书问题么,我现在也卡在这个地方。。。
FreemanZhu 2016-05-13
  • 打赏
  • 举报
回复
遇到同样的问题,楼主代码能贴上来看看不@wonly3
sinat_34961735 2016-05-11
  • 打赏
  • 举报
回复
我也遇到同样的问题,楼主代码能贴上来看看不
wonly3 2016-03-31
  • 打赏
  • 举报
回复
等了几天没人回答,自己解决了,现在将整个过程总结一下! 开始微信充值对接,先从了解文档开始,最后由于我们服务器是用C++开发,自己对C++也稍微熟悉一点。所以决定使用C++开发充值服务器。 微信官方没有提供C++的接口,只提供http的访问接口。所以初步估计自己要做的准备工作包括,建立一个Web服务器,一个可以访问http的连接对象,其它用到的东西包括,XML生成和解析,MD5的生成,有了这些准备工作才可以开始对微信提供的接口进行开发。 Web服务器的开发,之前做过,还算顺利,主要是对HTTP协议的解析。XML,MD5网上代码也多。也都好办。 访问http的连接对象,我开始用的InternetUrl来访问的,但是好像不支持https,没再深究,改用WinInet,但在访问微信的统一下单接口时,使用HttpSendRepuest(),总是返回失败,GetLastError()=12044,同样的代码访问alipay的接口就可以通过。我对12044的理解是需要认证,进一步的理解应该是需要证书。但是官方文档,以及技术支持给以的答复都是不需要证书。我相信这个答复。后面就赚了很多弯了。 开始将WinInet改用WinHttp,还是返回12044,后来在微软的官方主页查到这个返回结果可能由于SP造成的,又更新了SP2。在后来差点用上了OpenSSL,直到最后在微信官方下载了证书安装以后,同时在CertOpenSystemStore打开证书系统存储区时用的"MY",枚举第一个证书,用InternetSetOption/WinHttpSetOption设置证书,就可以了。当然,对这个问题还不了解,只是这么做就可以了,所以也就上来先把解决的方式说一下。总结下来看,浪费了三天时间,就是以为微信官方文档和技术支持说的不需要证书。

3,143

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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