里面截图都是看的别的博主的+上自己踩坑 虽然好多大同小异 但是不同人总结不同 提供学习使用 忘了保存地址了 侵权就删掉
在做微信支付时,出现错误:package中的参数partner或者prepay_id为空,调试很久,总结一下错误,并记下操作步骤,方便以后查看。
要注意证书路径
首先查看授权目录是否正确,在公众号的微信支付里的开发配置里设置。一般不会错,需要注意的是测试目录不能填一样,还要添加用来测试的微信号白名单
是否填写授权回调页面域名:这个不正确会出现:redirect_url参数错误。
在开发者中心,页面滚动到下面找到到“网页授权获取用户基本信息”修改成你的域名
证书下载,可以登录微信商户后台下载,不是公众号后台。
选择API安全,下载API证书。
找到apiclient_cert.pem和apiclient_key.pem,把证书上传到支付目录下的cacert目录下。
然后就是代码配置好自己参数
现在看看是否还报错。如果还报错就是你的key或商户id错误,重新确认即可
微信公众号支付: JSAPI缺少参数:total_fee ;
没有生成预支付ID package=prepay_id=null;
1.订单编号重复
2.订单编号为空
3.金额为“Null”或者为“0”
4.AppID或者AppSecret不对
5.预支付id为空 ,API密钥不对(在商户后台设置)
看看提交给微信支付的参数有没有错误,如果没有那么在统一提交支付接口之后微信是会返回给你一个prepay_id的
支付授权的目录也要填写(就是微信商户管理后台应该配置支付相关东西,比如回调啥的 ji不太清楚了) 那应该是后台你没配置
还有可能出现这个问题:
参数,基本是参数的问题,后端传入参数正确,前端接收参数的时候应该是拿错了值, “prepay_id”拼错成prepayId. 亦或者没有传这个字段到微信端
微信公账号支付,沙箱环境的坑
接入微信沙箱环境遇到如下问题:
1.微信支付统一下单接口调用成功,
2.但是微信端支付时JSAPI调用报错:调用支付JSAPI缺少参数:total_fee,支付失败
此错误可以忽略,为正常情况,只要后台能够收到沙箱环境支付成功的异步通知即可。
jsapi支付具体流程:
1.统一下单、生成预支付订单
2.后台拿着预支付订单信息进行二次加密
这个是后台可能 Key值写错了!!! 因为后台返回 一般是key-value形式的
二次签名必须跟 jssdk官网写的一样!