JSAPI支付的申请流程如下:1、注册微信公众号,公众号类型为服务号、政府或媒体订阅号。
2、认证微信公众号,认证费用是每次300元,如果不进行认证是没法用微信支付的。
3、登录微信的公众平台,点击左方菜单中的微信支付按钮,根据要求填写需要的资料,然后等待微信官方的审核,审核时间为48小时内。
4、在审核通过后,微信官方会以邮件、公众号等方式发送给联系人开户信息,按照要求填写财付通备付金汇入的随机金额,即可完成账户验证。
5、在给出线上的电子协议中进行签署,签署完毕后就可以进行交易和所得资金的结算,签署的文件时可以立即生效的。
6、当签署完协议后,就可以获得支付接口,可以根据官方给出的开发文档中的内容进行开发,也可以根据成功的案例进行研发设计。
本篇为 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来完成在微信内的支付就完成了。
1、含义不同。
微信h5支付:是集成在微信客户端的支付功能,用户可以通过手机完成快速的支付流程。
jsapi支付:以绑定银行卡的快捷支付为基础的支付。
2、支付方式不同。
微信h5支付:h5支付是用在公众号内。
jsapi支付:jsapi支付是网页发起的微信支付请求。
3、功能不同。
微信h5支付:可以在手机网站内直接支付,为移动支付方式,简单快捷。
jsapi支付:仅可以在微信浏览器内发起支付,比如公众号内的网页和微信小程序,略微麻烦。
参考资料来源:微信支付-普通商户接入