DownOL 软件仓库– 软件下载,字节世界与新知

微信实战-微信app支付(android端+java后台)

发表于:2024-04-28 作者:创始人
编辑最后更新 2024年04月28日,本文讲解使用微信支付界面完成在android开发的原生态app中完成微信支付功能, 文章具体讲解了前端android如何集成微信支付功能以及后台如何组装前端需要支付信息, 话不多话, 具体看文章内容吧

本文讲解使用微信支付界面完成在android开发的原生态app中完成微信支付功能, 文章具体讲解了前端android如何集成微信支付功能以及后台如何组装前端需要支付信息, 话不多话, 具体看文章内容吧

本实例项目运行条件:

开发环境: 【Android Studio】

1. 到微信开放平台注册账号并且创建移动应用

https://open.weixin.qq.com/cgi-bin/frame?t=home/app_tmpl&lang=zh_CN

2. 获得移动应用的许可权【微信支付】

这个许可权要求比较高,需要公司资质 并且 每年需要支付300元 才能开通 (这里不作讲解, 具体到官网上申请)

3. 配置应用签名, 这个签名通过 android打包文件jks生成或者keystore生成 【如何生成jks文件】

签名文件生成方法:

3.1 keytool -list -v -keystore jks文件(或者keystore文件)

3.2 获取指纹证书md5值, 将md5中的冒号去掉, 大写换成小写 (详情)

总结: 微信开放平台Android应用签名的本质便是我们签名文件jks(或者keystore)的MD5值

4. 配置支付密钥, 【如何配置密钥】

5. 应用程序开发完成后,debug模式是无法完成支付的,应用程序必须由相应的jks签名之后生成的apk包安装在手机上才能进行分支付(微信会校验应用签名)

2. 支付流程讲解

2.1 android程序启动后如下第一张图, 点击【确认支付】

2.1.1 android端向后台请求获得预支付信息

2.1.2 后台根据微信官网平台上的 配置信息 加上 订单信息 生成预支付信息

2.1.3 android端根据预支付信息 拉起微信支付页面进行支付(见下面第二张图)

3. 代码详解(Android端)

3.1 在android studio中引入 微信需要使用的jar包

3.2 在android工程对应的包名下面新建 包以及类, wxapi/WXPayEntryActivity

在AndroidManifest.xml中引用 WXPayEntryActivity

WXPayEntryActivity 代码详情(支付完成后,onResp会被调用,BaseResp.ErrCode.ERR_OK 表明支付成功)

3.3 支付按钮的点击事件

通过http协议向后台请求相应的预支付信息, 根据这些信息组装相应的信息来调用微信界面, 拉起微信支付界面

4 微信支付Java后台

4.1 后台代码结构图

4.2 微信配置信息 Config.properties

4.3 方法wxpay用于生成预支付订单信息

方法notifyWeiXinPay用于微信支付成功后的回调, 注意: 在手机端使用微信支付成功后,微信服务器会根据提供的回调地址进行回调, parameterMap.put("notify_url", wxnotify); (见下面代码)

在局域网是无法进行回调的,必须将你的服务端放在公网上进行测试, 回调函数会被多次调用,如果第一次成功后,你可以将业务数据状态标志为已处理, 对于相同订单的其它回调就不需要再次处理了

2022-05-09 23:29:00
0