开发者社区> 挨踢人生> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

微信支付2016开发调试过程记录

简介: 最近换了家公司,因为以前也是做支付的来这个公司直接让我从零开始搭建支付服务。首先是微信支付宝的第三方接入。我是做java开发的。支付宝有接入的sdk就是一个jar包。
+关注继续查看

最近换了家公司,因为以前也是做支付的来这个公司直接让我从零开始搭建支付服务。首先是微信支付宝的第三方接入。我是做java开发的。支付宝有接入的sdk就是一个jar包。而且有沙箱环境测试帐号。搞起来很方便。微信的坑就很多了。下面简单总结一下。后面把代码和详细流程贴出来。再把支付宝的也单独写个。


首先微信支付,因为是要用到手机网站和pc网站上的。所以选的是微信公众号支付。

大家一定要先理解微信公众好支付的一个总的流程:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4

具体的下一篇写。这篇用来总结遇到的坑。

部分是别人总结的我也遇到的就一起写上了:


        第一坑:redirect_url参数错误。因为我选择的的“JS API”支付,这种支付需要网页授权,先获取code,再拿code去获取openid和prepay_id。这个网页授权需要登录微信公众平台,点击左侧菜单“开发者中心”,在右侧“权限列表”中找到“网页账号”,点击最右侧的修改,把测试的网址写进去,注意不要加http。填好后,这个坑就趟过去了。


        第二坑:invalide code。趟过第一坑后,会返回code,再拿此code去获取openid,但是每次到这步时微信那边都返回这个{"errcode":40029,"errmsg":"invalid code"},此坑卡了我整整半个下午。在周天的时候,我又仔细看了开发文档,没得要领,最后又仔细检查了下程序中每次回调的参数。这一检查,就发现要领了,先把回调地址写的最简单,啥参数都不带,成功;接着,一个一个参数带上去,直到带上token这个参数时,返回了invalid code。哈,我猜应该是此参数和微信那边有冲突吧,于是把此参数改成了其他的,此坑立马就过了,接下来支付就一下子调试成功。

 

        第三坑:系统繁忙,正在升级,请稍后再试。周末调试成功后,便把测试代码整合到项目中,开始支付。但是到了支付界面时,便出现了此问题,怎么找到都发现不了问题,点击周末的测试链接又是好的。下午时又仔细看了下上下游的的传递的参数,发现了问题所在。每次上游传递过来的支付金额total_fee都是“1.00”这种类型,因为微信支付的基本单位是分,于是把手动把1.00该为1,成功了。看来是微信支付那边total_fee不能接收小数点,于是我和上游的同事协调了下,传递过来的金额没有小数点,此坑也就过了。


        

        四。经过几次测试,发现微信支付一旦超过十万便会出现上述提示,若是打上断点调试语句的话,会发现微信返回{"errcode":"FAIL","errmsg":"invalid total_fee"}。知道微信支付额度上限,那么只需在后台设置最大不超过十万即可。


五:微信支付 页面URL未注册

这个要去微信公众号---》微信支付——-》开发配置里面做配置

这个微信也没个说明,操蛋。下面是一些规律原则。可以参考


支付授权目录

这里很重要我就是在这里折腾了很久。怎么设置呢,首先要看你支付的当前页面URL

比如是:http://www.taidupa.com/wxpay/js_api_call.php

你就必须填写: http://www.taidupa.com/wxpay/

假如是:http://www.taidupa.com/wxpay/order/id/56.html

你就必须写:http://www.taidupa.com/wxpay/order/id/

看出规律了吧,就是把最后一个反斜杠后面的内容去掉就OK了。


这步跳过基本就能完成支付了。后面再总结细的吧。这些是一些根据错误没法知道哪儿错的坑。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
微信公众平台开发(四)——微信支付
公众号中的微信支付需要通过JS来实现。微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。
157 0
微信开发之扫码支付
此项目已开源欢迎Start、PR、发起Issues一起讨论交流共同进步 https://github.
1163 0
微信支付开发(8) 刷卡支付
关键字:微信支付 微信支付v3 刷卡支付 统一支付 prepay_id 作者:方倍工作室原文: http://www.cnblogs.com/txw1958/p/wxpayv3-micropay.html    本文介绍微信支付下的刷卡支付的开发过程。
1422 0
微信支付开发(7) H5支付
关键字:微信支付 微信支付v3 H5支付 wap支付 prepay_id 作者:方倍工作室原文: http://www.cnblogs.com/txw1958/p/wxpayv3_h5.html    本文介绍微信支付下的H5支付实现流程。
2403 0
微信支付开发(3) JS API支付
由于微信支付接口更新,本文档已过期,请查看新版微信支付JS API支付教程。地址 http://www.cnblogs.com/txw1958/p/wxpayv3-jsapi.html   本文介绍如何使用JS API支付接口完成微信支付。
888 0
x3d
开发微信支付的一点心得
由于使用了别人封装的微信公众平台SDK http://www.cnblogs.com/x3d/p/3740454.html  ,所以省去了完整理解开发手册的时间。 微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。
983 0
微信支付全面开放
  微信支付全面开放啦!作为微信商业化闭环中一项重要的能力,微信支付迈出了开放的重要一步,将为未来基于微信的移动在线商家提供全新的支付能力。      微信支付申请流程完全公开、自助,只要是通过微信认证的服务号(限企业/网店商户/媒体类服务号)均可自助申请,申请流程也非常简单:   下面...
1432 0
微信支付功能
  微信支付的使用场景正在不断延伸。除了此前已经介绍的麦当劳和 QQ 充值账号,目前已经开始有更多的公众账号和企业销售逐步接入微信支付功能。   据了解,包括“微彩票”、“微团购”、“南派三叔”、腾讯充值中心等公众账号都已经可以使用微信支付功能。
1189 0
+关注
挨踢人生
java,架构相关技术专家
文章
问答
文章排行榜
最热
最新
相关电子书
更多
十分钟上线-使用函数计算构建支付宝小程序服务
立即下载
面向失败设计
立即下载
手机京东Crash自动分析处理系统
立即下载