具体方法步骤:
一、准备阶段:已认证微信号,且通过微信支付认证,这个可以看微信文档,很详细,这里就不再重复。
二、配置授权目录,官方推荐使用https类型的url,不知道http能不能行,个人也推荐使用https的保证不会错。
配置授权域名
三、微信支付二次开发所需要的参数:
APP_ID,APP_KEY,PARTNER,PARTNER_KEY(AppSecret)
APP_ID和PARTNER_KEY(AppSecret)
PARTNER
APP_KEY(自行设置32位字符)
四、具体编程
1、通过页面跳转到确认支付页面,其中的redirect_uri必须是配置授权目录下的。
2、获取到openid,再经服务器向微信请求获取prepay_id,封装字段并进行签名后通过jsapi调起微信支付
3、测试结果
本篇为 JS交互微信系列篇 的第四篇 微信JSAPI支付 ,记录在微信内置浏览器内用调用微信支付过程。
JSAPI支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。
要拥有两个账号:
要开通产品中心的JSAPI支付。然后 产品中心=>开发配置=>支付配置=>公众号支付配置 绑定支付授权目录,写已通过ICP备案的域名。
另外,要在ip白名单中,配置测试地址ip和线上生产地址ip,不然各种回调都会失败!
由于在微信内支付需要获取用户的 openid ,要获取它则必须通过网页授权配置。在公微信公众平台中, 公众号设置=>功能设置=>网页授权域名 中按要求填写。
在支付流程方面,重点依然都在后端处理,前端方面步骤比较简单。本文只叙述前端内容。
在将要进入支付的前一页面,直接接入微信授权,然后跳转进要支付的那个页面。举个例子:有a、b两个页面,在b页面用到支付,b页面由a页面跳转而来。那么在a页面跳b页面的时候,别直接跳转b的url,而是跳转到:
https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&redirect_uri={b.html}&response_type=code&scope=snsapi_base#wechat_redirect
我们注意到,这里有这两个需要自己写的参数: appid 和 redirect_uri ,意义是:
另外,还有一个注意的点是, b.html这个url我们要进行encode转码,不然地址解析可能会出现问题!
上一步执行完后,在微信浏览器中,我们会得到一个链接,类似:
b.html?&code={code}&state=#/
在此处,我们得到了一个code值,这就是我们获取 openid 的凭证了。
获取方法当然是把值传给后台,后台去处理啦~
在上一步中,我们拿到code值后,就可以提交一些信息给后端了,比如商品相关属性、总价等,另外加上code值,传给后端。后端一顿操作后,返回给前端。我们需要的参数如下(后端返回下面这些参数):
上个步骤拿到需要交互微信的参数后,就开始调用微信的支付接口了,如下:
至此,调用微信JSAPI来完成在微信内的支付就完成了。
微信开发交流群:148540125
欢迎留言、转发、打赏
系列文章参考地址 极速开发微信公众号
项目源码参考地址 点我点我--欢迎Start
服务号、订阅号可以通过登录 微信公众平台 查看 开发>接口权限
使用JSSDK主要包括
1、判断当前客户端版本是否支持指定JS接口、
2、分享接口(微信认证)
3、图像接口
4、音频接口
5、智能接口(识别语音并返回结果)
6、设备信息(获取网络状态)
7、地理位置
8、界面操作
9、微信扫一扫
10、微信小店(服务号必须通过微信认证)
11、微信卡券 (微信认证)
12、微信支付(服务号必须通过微信认证)
官方参考文档
步骤一:绑定域名
先登录微信公众平台进入 公众号设置 的 功能设置 里填写 JS接口安全域名 。
步骤二:引入JS文件
在需要调用JS接口的页面引入如下JS文件,(支持https): http://res.wx.qq.com/open/js/jweixin-1.0.0.js
如需使用摇一摇周边功能,请引入 http://res.wx.qq.com/open/js/jweixin-1.1.0.js
备注:支持使用 AMD/CMD 标准模块加载方法加载
步骤三:通过config接口注入权限验证配置
签名算法生成规则
请 官方参考文档
下面具体来讲讲 开源项目 weixin_guide 中的封装。
使用的时候只要在Controller方法上添加一个拦截器 JSSDKInterceptor 来实现签名验证再将 wx.config 需要的参数设置对应的属性在页面上进行获取。
拦截器实现如下:
在Controller中使用
JSP页面上面使用
测试结果
在AppConfig 中添加路由 me.add("/jssdk", JSSDKController.class,"/view")手机中访问 http://域名[/项目名称]/jssdk ,如果设置了 debug= true 成功了就会弹出
如果出现 {"errorMsg":"config:invalid url domian"} 请检查 步骤一:绑定域名 与你访问的域名是否在安全域名列表当中
步骤四:通过ready接口处理成功验证
步骤五:通过error接口处理失败验证
步骤六:接口调用
拦截器具体实现 参考地址 点这里
js 接口调用参考地址 点这里
以上就是JSSDK使用的介绍。
欢迎留言、转发、打赏项目
源码参考地址 点我点我--欢迎Start