微信支付-小程序H5 公众号 Payment SDK
程序员文章站
2023-09-28 21:44:08
前言 今天是2020年一天,去年最后一个月开发了订单和支付系统,尤其在支付系统和微信对接的时候遇到了很多坑,这里给大家总结下,以免大家遇到相同的问题还浪费大量时间 微信支付前期准备 1. 微信商户号,需要 ,`密码 证书`,证书默认密码是商户号 2. 微信app(如 微信小程序 或者 微信公众号) ......
前言
今天是2020年一天,去年最后一个月开发了订单和支付系统,尤其在支付系统和微信对接的时候遇到了很多坑,这里给大家总结下,以免大家遇到相同的问题还浪费大量时间
微信支付前期准备
- 微信商户号,需要
商户号
,密码
,退款时需要证书
,证书默认密码是商户号 - 微信app(如 微信小程序 或者 微信公众号) 的appid和appsecret
-
需要在商户中关联微信小程序和微信公众号,然后运营者确认。
至此微信支付前期工作完成payment
封装了微信 支付宝 银联等很多支付的sdk
git地址 https://github.com/essensoft/payment微信小程序使用h5嵌入完成微信支付
由于小程序发版审核周期长,我司采用h5嵌入的方式(webview)
实现很简单,利用jssdk 从h5跳转到小程序页面,唤起支付,支付完成后,再跳转回h5
1.获取accesstoken
2.拿着accesstoken获取票据(tickt)
都是两小时有效,建议注入单例对象,每次get的时,拦截器中判断过期时间即可
3.jssdk引入h5 需要先初始化 也就是wx.config 需要初始化成功才能使用他提供的功能
一直报签名无效 这个问题耗费了我四天,整整四天啊。配合网上提供的那些解决方法,我这边的问题是没有对wx.config 中的url 先进行encode 在后台接口再进行decode ,在开发过程中无需到微信后台配置任何https什么的。
4.然后h5调用后台接口进行预支付,成功后,wx.miniprogram.navigateto({ url: path });
到原生小程序 发起wx.requestpayment
至此即可完成支付
微信公众号
待更新