搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
知新_RL
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
PostgreSql查询数据库中所有表基础信息,以及字段基础信息_col_description
2
Django新手入门(五)——Models详解_models.protect
3
php中word下载_phpword下载
4
bat入门_bat脚本编写
5
web中间件安全_window war包部署
6
互联网软件开发—— 实验四 JavaBean 应用(简易购物车)_利用javabean编写购物车代码
7
「AI人工智能」NodeJs使用openai流式请求与非流式请求_openai接口请求格式
8
单片机UART一对多:同时读取多个传感器基于modbus协议_一个串口接多个设备
9
如何看待编译原理
10
【STM32F429的DSP教程】第18章 DSP控制函数-更好用的SIN,COS计算_stm32f429的dsp教程 第18
当前位置:
article
> 正文
SpringBoot整合微信支付(Native最详细)_springboot 微信支付
作者:知新_RL | 2024-04-22 07:08:30
赞
踩
springboot 微信支付
一、微信支付产品介绍
1
、付款码支付
用户展示微信钱包内的
“
付款码
”
给商家,商家扫描后直接完成支付,适用于线下面对面收银的场景。
2
、
JSAPI
支付
线下场所:商户展示一个支付二维码,用户使用微信扫描二维码后,输入需要支付的金额,完成支
付。
公众号场景:用户在微信内进入商家公众号,打开某个页面,选择某个产品,完成支付。
PC
网站场景:在网站中展示二维码,用户使用微信扫描二维码,输入需要支付的金额,完成支
付。
特点:用户在客户端输入支付金额
3
、小程序支付
在微信小程序平台内实现支付的功能。
4
、
Native
支付
Native
支付是指商户展示支付二维码,用户再用微信
“
扫一扫
”
完成支付的模式。这种方式适用于
PC
网站。(本章重点介绍此功能接入)
特点:商家预先指定支付金额
5
、
APP
支付
商户通过在移动端独立的
APP
应用程序中集成微信支付模块,完成支付。
6
、刷脸支付
用户在刷脸设备前通过摄像头刷脸、识别身份后进行的一种支付方式。
二、接入微信支付功能必备的
必须条件
1
、获取商户号(
!!!必须是企业或者个体户
)
微信商户平台:
https://pay.weixin.qq.com/
步骤:提交资料
=>
签署协议
=>
获取商户号
2
、获取
APPID
微信公众平台:
https://mp.weixin.qq.com/
步骤:注册服务号
=>
服务号认证
=>
获取
APPID =>
绑定商户号
不一定是服务号
,已通过微信认证的服务号、政府或媒体类订阅号、小程序、企业微信、移动应用、网站应用都可以,还有微信小程序必须要企业营业执照认证。
3
、获取
APIv2
秘钥
APIv2
版本的接口需要此秘钥
步骤:登录商户平台
=>
选择 账户中心
=>
安全中心
=> API
安全
=>
设置
API
密钥
4
、获取
APIv3
秘钥
APIv3
版本的接口需要此秘钥
步骤:登录商户平台
=>
选择 账户中心
=>
安全中心
=> API
安全
=>
设置
APIv3
密钥
随机密码生成工具:
https://suijimimashengcheng.bmcx.com/
5
、申请商户
API
证书
APIv3
版本的所有接口都需要;
APIv2
版本的高级接口需要(如:退款、企业红包、企业付款等)
步骤:登录商户平台
=>
选择 账户中心
=>
安全中心
=> API
安全
=>
申请
API
证书
6
、获取微信平台证书
。
注意:以上所有API秘钥和证书需妥善保管防止泄露!
三、支付安全(证书/密钥/签名)
1
、信息安全的基础
-
机密性
明文:
加密前的消息叫
“
明文
”
(
plain text
)
密文:
加密后的文本叫
“
密文
”
(
cipher text
)
密钥:
只有掌握特殊
“
钥匙
”
的人,才能对加密的文本进行解密,这里的
“
钥匙
”
就叫做
“
密钥
”
(
key
)
“密钥”就是一个字符串,度量单位是“位”(bit),比如,密钥长度是 128,就是 16 字节的二
进制串
加密:
实现机密性最常用的手段是
“
加密
”
(
encrypt
)
按照密钥的使用方式,加密可以分为两大类:对称加密和非对称加密。
解密:
使用密钥还原明文的过程叫
“
解密
”
(
decrypt
)
加密算法:
加密解密的操作过程就是
“
加密算法
”
所有的加密算法都是公开的,而算法使用的“密钥”则必须保密
2
、对称加密和非对称加密
对称加密
特点:只使用一个密钥,密钥必须保密,常用的有
AES
算法
优点:运算速度快
缺点:秘钥需要信息交换的双方共享,一旦被窃取,消息会被破解,无法做到安全的密钥交
换
非对称加密
特点:使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,常用的有
RSA
优点:黑客获取公钥无法破解密文,解决了密钥交换的问题
缺点:运算速度非常慢
混合加密
实际场景中把对称加密和非对称加密结合起来使用。
3
、身份认证
公钥加密,私钥解密的作用是加密信息
私钥加密,公钥解密的作用是身份认证
4
、摘要算法(
Digest Algorithm
)
摘要算法就是我们常说的散列函数、哈希函数(
Hash Function
),它能够把任意长度的数据
“
压缩
”
成固定长度、而且独一无二的“
摘要
”
字符串,就好像是给这段数据生成了一个数字
“
指纹
”
。
作用
:
保证信息的完整性
特性
:
不可逆:只有算法,没有秘钥,只能加密,不能解密
难题友好性:想要破解,只能暴力枚举
发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化
抗碰撞性:原文不同,计算后的摘要也要不同
常见摘要算法
:
MD5
、
SHA1
、
SHA2
(
SHA224
、
SHA256
、
SHA384
)
5
、数字签名
数字签名是使用私钥对摘要加密生成签名,需要由公钥将签名解密后进行验证,实现身份认证和不可否认。
签名和验证签名的流程
:
6
、数字证书
数字证书解决
“
公钥的信任
”
问题,可以防止黑客伪造公钥。
不能直接分发公钥,公钥的分发必须使用数字证书,数字证书由
CA
颁发
https
协议中的数字证书:
7
、微信
APIv3
证书
商户证书
:
商户
API
证书是指由商户申请的,包含商户的商户号、公司名称、公钥信息的证书。
微信支付平台证书是指由
微信支付
负责申请的,包含微信支付平台标识、公钥信息的证书。商户可以使用平台证书中的公钥进行验签。
8
、
API
密钥和
APIv3
密钥
都是对称加密需要使用的加密和解密密钥,
一定要保管好,不能泄露
。
APIv2
密钥对应
V2
版本的
API
APIv3
密钥对应
V3
版本的
API
四、在SpringBoot项目中导入微信支付功能
完整代码和详解请参考:
https://gitee.com/BuLiangShuai01033/wx-payment
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/知新_RL/article/detail/467405
推荐阅读
article
springboot
/
java
/
php
/node/python
校园
快送
跑腿
微信小
程序
【计算机毕设】_...
该小
程序
的开发还有助于推动
校园
经济的数字化转型,促进
校园
内部商业活动的繁荣,为
校园
带来更多的活力和便利。
校园
快送
跑腿
微信...
赞
踩
article
微信
小程序
java
springboot
44
.
美食
推荐
系统
的
设计
与实现(完整源码+
数据库
文件+万...
针对高校教师成果信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用
美食
推荐
系统
可以有效管理,使信息管...
赞
踩
article
基于
Java
协同过滤
推荐
算法校园交易闲置物品市场
微信
小
程序
前后端+Web管理后台+Springboo...
记录一下本次项目的整体过程,以下部分是已经完成并验证正确的部分,后续部分后面内容再加,再这个项目中 ,基本遇到了
微信
小程...
赞
踩
article
springboot-php
微信
小
程序
的
美食
推荐
系统
ttb19
...
本文从管理员、用户的功能要求出发,
微信
小
程序
的
美食
推荐
系统
中的功能模块主要是实现首页、个人中心、用户管理、
美食
分类管理、...
赞
踩
article
基于
Java
+SpringBoot+Vue+uniapp安卓
校园
安保
巡查
APP
系统
设计
和实现_
设计
并...
校园
安保
巡查
系统
APP
管理是
校园
安保
巡查
系统
管理中对学生必不可少的一个部分。在人们
校园
安保
巡查
系统
管理的整个过程中,
校园
...
赞
踩
article
Quartz
+ SpringBoot 实现
分布式
定时
任务
_springboot+
quartz
分布式
...
Quartz
+ SpringBoot 实现
分布式
定时
任务
_springboot+
quartz
分布式
定时
任务
spring...
赞
踩
article
【SpringBoot】
Validator
组件+
自定义
约束注解实现
手机号
码
校验
和密码格式限制_val...
SpringBoot项目实现
Validator
组件+
自定义
约束注解(
自定义
校验
规则)@IsMobile
校验
手机号
码以及密...
赞
踩
article
Serverless
实战 —— 快速搭建
SpringBoot
应用
_
springboot
ser...
前言首先介绍下在本文出现的几个比较重要的概念:函数计算(Function Compute): 函数计算是一个事件驱动的服...
赞
踩
article
Spr
in
gBoot 项目打包时出现 Cannot f
in
d ‘
version
‘
in
class
...
true_cannot f
in
d default setter
in
class
org.spr
in
gframework...
赞
踩
article
React Native适配
Xcode
15
iOS
17.0+_
xcode
15
react
na...
App Store 更新到
Xcode
15
后,无法运行模拟器和真机。需要下载
iOS
17对应的模拟器。_
xcode
1...
赞
踩
article
SpringBoot
+
Redis
简单实现
文章
浏览量
记录_
springboot
项目
统计
文章
浏览量
...
现在做的大部分
项目
都用到了
SpringBoot
和
Redis
,不过实际开发中,
Redis
只存了Token之类的数据,大部分...
赞
踩
article
SpringBoot +Mybatis +
Redis
实现
缓存
(案例解析)_
spring
boot
...
都知道
Redis
可以用来做
缓存
,那么该如何实现呢?_
spring
boot
mybatis
redis
缓存
spring
...
赞
踩
article
SpringBoot
+
redis
+
mybatis
实现缓存增删改
_
redis
springboot
分...
三:编写service层代码。2.json转化工具类。3.
redis
操作类。
_
redis
springboot
分页
查询
...
赞
踩
article
SpringBoot
+
Redis
完成数据
缓存
(内容丰富度
一定
超出你的想象)_
springboot
r...
亲爱的朋友,今天我想对你说:相信梦想,你
一定
会成功!无论你的梦想是什么,只要你坚定地追求它,不断努力,就
一定
能够实现。在...
赞
踩
article
The
last
packet
sent
successfully
to the
server
wa...
The
last
packet
sent
successfully
to the
server
was XXX mill...
赞
踩
article
springboot
hikari
数据库连接池死链 出现异常_
hikari
the
last
pac...
最近用户反应系统很慢,登录时,经常超时、无反应,查看log出现上述两种异常,异常情况1The
last
packet
s...
赞
踩
article
springboot
-vue项目部署到云服务器时,后端启动可能遇到的问题_
springboot
th
...
说明: interactive_timeout也是必须要修改的参数,这样一起改才能生效,其中wait_timeout就是...
赞
踩
article
【
SpringBoot
】最新版
3
.x集成
springdoc
代替
Swagger
_项目中 代替swagg...
SpringBoot
升级为
3
.x后,包javax下
的
所有内容都迁移到了jakarta下,比如, 而
swagger
还是使用...
赞
踩
article
基于
java
web+
jsp
的
电影
售票
系统
设计和实现(
java
+
Springboot
+ssm+mysq...
基于
java
web+
jsp
的
电影
售票
系统
设计和实现(
java
+
Springboot
+ssm+
mysql
+
jsp
+mave...
赞
踩
article
基于
java
web
的
电影
售票
系统
设计
和实现(
java
+springboot+ssm+
mysql
+js...
基于
java
web
的
电影
售票
系统
设计
和实现(
java
+springboot+ssm+
mysql
+jsp)运行环境Java...
赞
踩
相关标签
java
spring boot
php
微信小程序
uniapp
小程序
maven
mysql
推荐算法
web管理
校园闲置物品
跳瘙市场
uni-app
分布式
Quartz
后端
Validator
软件工程
自定义约束注解
mybatis