微信支付流程及遇到的各种坑-java版

首先这个图很重要,严格按照图上流程开发

开发文档中下载对应DEMO,使用其中代码,将配置信息改成自己的

代码就不一一贴出,列出一下主要注意点,一定能帮到你

大坑小坑

 

整个过程中存在4个签名,容易用错

1. 统一下单请求参数sign 签名类型:默认为MD5,支持HMAC-SHA256和MD5

2. 统一下单接口返回参数sign 签名类型:系统返回,无关开发者

3. wx.chooseWXPay调起支付用到的paySign 签名类型:和统一下单一致

4. wx.config 中的signature 签名类型:sha1

以上四个签名各不相同

 

 

随机字符串:共存在6

统一下单请求参数:

统一下单返回参数:

生成paySign签名参数:

wx.config参数:

signature签名参数:

wx.chooseWXPay参数:

只有统一下单请求参数自己生成,其余均使用统一下单返回的nonce_str

 

 

时间戳:4

paySign签名参数timeStamp: 系统生成

wx.config参数timestamp

生成签名signatrue的参数timestamp:

Wx.chooseWXPay参数timestamp: config使用同一个

4处时间戳均使用同一个



过程中遇到的错误有:

1.签名验证失败

此问题范围较大,仔细阅读开发文档,检查生成签名的参数大小写以及参数来源,文档中对参数来源有的没有具体说明,这就要自行百度了

2. 缺少参数total_fee

这个问题一般并不是真正缺少total_fee参数,也不一定是缺少其他参数,其最大的原因可能是某些参数写错导致

 

3. 当前页面的URL未注册

这个问题由于商户平台配置的支付授权目录不正确,如果走到这一步,基本说明代码部分没有问题了,支付授权目录是调用支付API接口的页面所在的最后一级目录,以/ 结束,如果项目是从springMVC跳转到前台,则需要写访问后台控制器的路径的前一级目录








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值