微信支付(p1-p10)
1.介绍
1.1. 微信支付介绍和接入指引
1.2. 证书、密钥、签名
1.3. 案例项目的创建
1.4. 基础支付API V3
1.5. 基础支付API V2
2.微信支付产品介绍
1.访问网址:https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F
2,点击:"产品中心"
3.产品分类:
1.付款码支付:用户展示付款码,商家用收款扫描设备进行扫描收款码。适合:饭店、医院
2.JSAPI:
线下场所:商家在桌面上展示首款码,客户进行扫描支付
公众号场景:用户进入商家公众号,打开收款页面,完成支付流程 (要有自己公众号)
PC网站场景:在网站页面中,页面展示支付二维码 (要有自己网站)
3.小程序支付:在小程序中进行支付
4.Native支付:商户展示收款码,用户进行扫码支付,与前面JSAPI不一样的是,Native支付不允许客户修改支付金额
5.APP支付:要有自己的APP
6.刷脸支付:通过摄像头扫描脸部,进行支付
3.获取商户号
1.网址:https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F
2.点击:接入指引,选择"我有PC网站"
3.准备申请材料,了解申请费用
4.点击"接入微信支付"
5.用管理员账户扫描二维码,点击确认登录
6.填写、完成审核,回到首页,用管理员微信扫描二维码进行登录
7.点击"个人信息"->"账户信息":登录账号就是商户号
4.绑定场景
1.访问网址:https://mp.weixin.qq.com/
2.账号类型:选择服务号
3.填写:基本信息--选择类型--信息登记--公众号信息:获取APPID
APPID与商户号ID进行绑定
1.商户登录:产品中心--AppID账号管理--点击"关联AppID"
2.点击提交
5.获取密钥和证书
1.登录商户平台:账户中心--安全中心--API安全
2.可以看到三个:a.申请API证书 b.设置API密钥 c.设置APIv3密钥
3.APIv3格式需要申请API证书
6.知识总结
7.对称加密和非对称加密
对称加密:密钥都是同一个
- AES加密算法:目前比较流行的对称加密算法,密钥长度128、192或256,安全强度很高,性能很好
- 加密分组模式:将明文分组加密,微信支付中使用AEAD_AES_256_GCM
非对称加密:两个密钥,一个叫:公钥、一个叫:私钥;两个密钥是不同
- 使用公钥加密后只能用私钥解密,反过来,私钥加密后也只能用公钥解密
- RSA加密算法:最著名的非对称加密算法
两者对比
对称加密
- 有点:运算速度快
- 缺点:密钥需要信息交换的双方共享,一旦被窃取,消息会被破解
费对称加密
- 优点:私钥严格保密,公钥任意分发,黑客获取公钥无法破解密文
- 缺点:运算速度非常慢
8.身份认证
私钥加密,公钥解密,只能确认发信人
9.数字签名
如何保证新建不被篡改,即信息的完整性?
实现完整性的手段主要是摘要算法(Digest Algorithm),也就是常说的散列函数、哈希函数(Hash Function)
任意长度Z经过Hash算法,生成固定长度数据指纹、摘要
- 不可逆:只有算法、没有密钥,只能加密、不能解密
- 难题友好性:想要破解,只能暴力枚举
- 发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化
- 抗碰撞性:原文不同,计算后的摘要也要不同
常见摘要算法:MD5、SHA1、SHA2
10.数字证书
|