对接微信支付开发,其实官方文档已经写的足够详细,大多数小伙伴遇到的情况上面也有注明注意的地方,但是为什么,我们在实际对接时,往往还是会遇到很多情况?

个人觉得,还是和经验积累、认知程度和理解有关,还有部分原因是文档没仔细看


对接的是微信JSAPI支付


提前说下我在对接微信支付开发时,自己挖的坑

返回前端时,签名应该是四个字段进行组合生成签名,由于自己粗心,直接将预支付返回来的sign签名值当前了前端的签名值,所以,一直提示支付签名验证失败

【小5聊】.net core2.1对接微信支付开发时自己挖_json格式

  • 前端JSAPI需要的参数
"appId":"wx2421b1c4370ec43b",                         //公众号ID,由商户传入     
"timeStamp":"1395712654", //时间戳,自1970年以来的秒数
"nonceStr":"e61463f8efa94090b1f366cccfbbb444", //随机串
"package":"prepay_id=u802345jgfjsdfgsdg888", //预支付编号
"signType":"MD5", //微信签名方式:
"paySign":"70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名


paySign=appId、timeStamp、nonceStr、package、signType,由这5个键值对组合生成签名,注意首字母升序排序再拼接成签名

1、V2开发文档地址

1)V2已经属于旧版本接口文档版本

2)现在默认已经是V3版本的开发接口

​产品能力概览-文档中心-微信支付商户平台​

 【小5聊】.net core2.1对接微信支付开发时自己挖_微信签名_02

2、V2和V3的区别

主要的区别是V2使用的是xml格式请求,V3使用的是JSON格式,毕竟json格式现在对接接口而言是比较流行的

【小5聊】.net core2.1对接微信支付开发时自己挖_json格式_03