微信支付app
来源:互联网 发布:百度网盘达内php源码 编辑:程序博客网 时间:2024/04/30 13:50
最近老大要上微信支付,将相应的key申请下来后,就开始工作了。一开始,看了一下app里面的接口说明,但是里面都是提到Android该如何处理,而没有提到服务端的接口该如何处理。所以就直接把服务端demo的代码放到工程里面了。
就这样,开始了无头苍蝇的漫步,乱飞~~~。
一开始,吧appkey 、appsecret 等参数都直接发给客户端了。后面才看到 【注意:appsecret、appkey、partnerkey 不应硬编码到客户端程序中,建议需要用到这三个字段的过程都在服务器端完成】╮(╯▽╰)╭,要怪就怪自己没细看文档。。。。。。。。
接着,相关的参数都直接由服务端生成了,然而传到客户端,在调用微信支付的时候报-2。看来,又出事了。用了最笨的方法来校验:不用服务端的数据,直接用appkey 、appsecret来调用微信支付(不用问阿贵,肯定能成功。。。。。);
然后对比一下代码,才知道要把代码给修改一下:
- //获取prepayId
- String prepayid = prepayReqHandler.sendPrepay();
- //吐回给客户端的参数
- if (null != prepayid && !"".equals(prepayid)) {
- //输出参数列表
- clientHandler.setParameter("appid", ConstantUtil.APP_ID);
- clientHandler.setParameter("appkey", ConstantUtil.APP_KEY);
- clientHandler.setParameter("noncestr", noncestr);
- //clientHandler.setParameter("package", "Sign=" + packageValue);
- clientHandler.setParameter("package", "Sign=WXPay");
- clientHandler.setParameter("partnerid", ConstantUtil.PARTNER);
- clientHandler.setParameter("prepayid", prepayid);
- clientHandler.setParameter("timestamp", timestamp);
- //生成签名
- sign = clientHandler.createSHA1Sign();
- clientHandler.setParameter("sign", sign);
- xml_body = clientHandler.getXmlBody();
- retcode = 0;
- retmsg = "OK";
- } else {
- retcode = -2;
- retmsg = "错误:获取prepayId失败";
- }
就是这句:
- clientHandler.setParameter("package", "Sign=WXPay");
要修改为:
- //clientHandler.setParameter("package", "Sign=" + packageValue);
修改完成后,再试,o 耶。。。。,能调用了。
然后,在支付成功后,却发现,回调报错:
后台调用通信失败
找啊,找啊,最后,发现 String key 的key给搞错了,本应该是:PARTNER_KEY //商户号对应的密钥 却被我用了APP_SECRET//应用对应的凭证
真是被自己给搞晕。。。
另外,在查看的过程中,发现access_token的请求是有限制的,故。。。得固化到数据库中了.
以上就是这两天在调微信支付遇到的一些错误,最后,建议在处理过程,先看官方接口文档(底部):
公众开发者文档
http://mp.weixin.qq.com/wiki/index.php?title=首页
提到token的频率
http://mp.weixin.qq.com/wiki/index.php?title=接口频率限制说明
转载:http://blog.csdn.net/seven_cm/article/details/30117523
- 支付--微信APP支付
- 微信支付app
- 微信支付app
- 微信APP支付
- app微信支付
- APP微信支付
- app微信支付
- 微信APP支付
- 支付--微信APP
- 微信APP支付
- 微信app支付
- 微信APP支付
- 微信APP支付
- APP微信支付集成
- 微信app支付问题
- 微信APP支付填坑记
- 微信支付 app 服务器
- 微信APP支付 C#
- mysql 5.6.22安装
- android和iOS平台的崩溃捕获和收集
- MD5的详细解析与避免MD5碰撞方法
- php数组分页的实现
- 对于form enctype= multipart/form-data 二进制流上传文件,服务器端获取不到表单中其他数据的解决办法。
- 微信支付app
- html引入js和css问题
- S3C6410+FPGA+2*RTL8211 驱动 iperf测试
- Remove Duplicates from Sorted Array -- Leetcode
- 帮助文档
- 时间片调度在单片机中的运用
- Android 更新SDK Manager
- labview 在事件结构中嵌套了while循环后,内部while循环无法停止的问题的解决
- 超棒的验证码生成组件---Jcaptcha