六年代码两茫茫,不思量,自难忘
6年资深前端主管一枚,只分享技术干货,项目实战分享
关注博主不迷路~
JSAPI支付是指商户通过调用微信支付提供的JSAPI接口,在支付场景中调起微信支付模块完成收款。
要想支持微信支付,必须拥有两个账号:
*这两个账号一个都不能少
微信支付原理(说白了就是调用官方文档的“统一下单”接口,之后将微信服务器返回的参数做个加工后,返回到前台(JSP页面),就OK了。咱们要做的就是想方设法的凑齐统一下单的所有参数。
appid
APPID
mch_id
商户ID
nonce_str
随机字符串
sign
签名
body
所支付的名称
out_trade_no
自己所提供的订单号,需要唯一
total_fee
支付金额
spbill_create_ip
IP地址
notify_url
回调地址
trade_type
支付类型
openid
支付人的微信公众号对应的唯一标识
参数的获取呢主要是用其中的WXPayUtil工具类中的一些方法
好了开始咱们的取值之旅了~
前台页面配置(主要为获取授权)在此处主要为打开首页跳转微信的授权地址 然后微信回调到页面且携带参数code
如:
当前访问地址:http://aaa.com
微信回调地址:http://aaa.com?code=xxxxx
getAuth(code)为请求后台的auth方法来获取token和用户的openid 然后再调用getUserInfo()来请求后台info接口来获取用户信息,将用户的信息存入缓存
接下来才是重点,也就是支付的实现,下图的onPay()函数执行了两步操作
完成!
✨原 创 不 易 , 还 希 望 各 位 支 持
👍 点 赞 , 你 的 认 可 是 我 创 作 的 动 力 !
⭐️ 收 藏 , 你 的 青 睐 是 我 努 力 的 方 向 !
✏️ 评 论 , 你 的 意 见 是 我 进 步 的 财 富 !