最新动态
H5微信支付
2025-01-03 04:39

h5微信支付

h5的微信支付一般分为2种情况

  • 在微信中直接用链接打开或者从公众号打开h5页面(微信内支付)。
  • 在手机浏览器中打开h5进行微信支付(微信外支付)

一、微信内支付(JSAPI支付)
参考链接:https://www.cnblogs.com/ganws/p/11139149.html
微信支付文档链接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_3

1.商户号配置

请确保实际支付时的请求目录与后台配置的目录一致(现在已经支持配置根目录,配置后有一定的生效时间,一般5分钟内生效,否则将无法成功唤起微信支付。

如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑

关于网页授权的两种scope的区别说明
3.1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面

3.2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

3.3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。

由于支付只需要获取code调用后台接口换取,并不需要获取昵称用户信息,所以这里用第一种方式即可。
第一步:用户同意授权,获取code

 

用户同意授权后
如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。

注意:由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问

注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。

code说明 : code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。

4.在微信浏览器内窒息感打开的h5的支付,接口在输入输出的数据格式为JSON。
注意:WeixinJSBridge内置对象在其他浏览器中无效。
拿到之后,可以进行支付了
支付参数生成文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

 

下面是具体的逻辑

 

Tip
1. 微信内支付 参数生成方式,timestamp,nonceStr, paySign 的计算方式可以直接用。
2.,问题,检查页面的域名有没有添加到微信公众号ip白名单,根据文档检查签名生成。
3. ,如果页面在本地打开,用户授权回调的code,复制出来的链接是看不到的(ps: 但不影响页面接着执行)。将项目放在线上的测试环境就可以。


二、微信外支付(ps: h5支付
参考链接:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_1
同JSAPI支付一样: 需要先申请商户号,并在商户中设置h5支付的权限。
在公众号将页面用的IP添加到域名白名单中。
通过后台返回,拉起微信支付收银台第三方页面。可通过访问该url来拉起微信客户端,完成支付,mweb_url的有效期为5分钟。
参考链接: https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1

 

传送门: https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4


    以上就是本篇文章【H5微信支付】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/quote/18345.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站https://sicmodule.kub2b.com/mobile/,查看更多   
发表评论
0评