小程序调用wx.requestPayment(OBJECT)这个方法发起微信支付,返回“调用支付JSAPI缺少参数:total_fee”这个错误。查看控制台发现预支付订单id为空(prepay_id=)。
网上搜了一些信息,发现一个很让人无奈的事情,无论支付缺少啥参数,都提示“缺少total_fee”。
一般以下情况会报错:
1.后台返回的package字段错误:
wx.requestPayment中package参数必须是package:"prepay_id=wx**************"格式的
2.订单编号重复
一个订单编号只能用于一个订单
3.AppID或者AppSecret不对
对比你输入的AppID和你微信公众平台的AppID
4.预支付id为空,有四种情况:
(1)金额为空
(2)订单编号重复
(3)订单编号为空
(4)API密钥不对(在商户后台设置)
后来发现我的问题是订单编号重复,有2个商户号,订单编号和另一个重复了,把其中一个重新设置下就好了。