关于微信公众号网页的支付问题
微信公众号网页支付功能是基于微信JS-SDK的网页开发工具包,要完成支付的开发就需要
进行一定的微信配置,拉起微信的支付功能。以下主要完成公众号网页支付的前端部分。
1.需要进行网页授权。通过网页授权获取code值,再把code值传给后端。而后端需要通过code值获取access_token。具体文档为https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
2.需要在微信公众平台的公众号设置中的“功能设置”里填写“JS接口安全域名”,即为支付网页所在的域名。
3.要引入微信提供的js文件。列入http://res.wx.qq.com/open/js/jweixin-1.6.0.js或者http://res2.wx.qq.com/open/js/jweixin-1.6.0.js 。具体看开发文档
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html
4.需要进行微信的config接口注入权限验证配置具体为如下几点。
wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名 jsApiList: [] // 必填,需要使用的JS接口列表 });
以上的appId,timestamp,nonceStr,signature,jsApiList除了jsApiList需要自己来配置之外,其他的需要需要后端提供一个接口获取。
5.进行微信支付功能拉起的配置,如下
wx.chooseWXPay({ timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr: '', // 支付签名随机串,不长于 32 位 package: '', // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*) signType: '', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign: '', // 支付签名 success: function (res) { // 支付成功后的回调函数 },
});
注意进行支付功能的配置的时候不要用微信小程序开发工具来进行测试。很大的可能性会出现签名无效。所以最好是用你的手机来进行微信的支付测试操作。
分类:
前端
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee