开篇第一件事不是说uni-app,而是微信,我勒个擦。项目背景就是咱们做过app微信支付,公众号支付,然后现在准备搞小程序支付,问题是微信小程序开发还是用uni-app的,这不就有点尴尬了嘛。。?
appId不是使用的app原生的 ,也不是微信公众号的。所以小程序支付的appid啊,secret啊都得重新申请,只是会和自己的同一个商户和关联授权之类的。总之就是开放平台 ,公众平台来回奔波,至于哪个平台干啥的,我至今不是特别清楚。哪里需要点哪里,就是各种申请,扫码,授权 ,登录,然后就开干啦
首先得调后台的接口生成一个订单,注意,千万要提醒后台 不能用之前公众号或者app的那些appid和secret,而且这里如果是公众号 服务好的话 得需要个openid,那么就得获取微信信息 uni-app里面为我们提供了个API
这里会返回一个code ,我们用这个code去请求openid即https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=CODE
这一步最好是后端请求获得,但是我就在前端请求,
这里成功的话 后端会给我们返回调取微信支付所需的所有参数
but等你准备发布小程序时候你就会发现根本请求不到openid,因为它会提示你https://api.weixin.qq.com需要在公众号配置一下,就好像其他的request请求一样,最最有意思的是,添加时候 他就会告诉你,不可以添加微信的api,原因是不安全!!!所以 还得老老实实后台跟着配合一下,把请求好的openid给我。这是我后来发现
我就是在这里支付报错的,顺便再次吐槽一下微信,你说这个提示多他么抽象,是不是,谁知道呢???检查后发现就是那个"prepay_id=null" 也就是因为公众号和小程序的微信支付好像就得这个openid才可以生成prepayid
然后再调取uni-app里面微信支付的api ,就成功了
可我就是想吐槽下微信 ,你可是个成熟的软件了,最近在uni-app踩坑。有踩坑的一起交流交流啊