一、支付宝支付
进入蚂蚁金服开放平台
https://open.alipay.com/platform/home.htm
https://opendocs.alipay.com/open/270/105899
下载支付宝官方demo
https://opendocs.alipay.com/open/270/106291
配置使用沙箱环境测试
提示 : 项目使用utf-8编码格式,编码不同可能会造成签名错误等问题
将demo导入idea,进入沙箱测试环境https://openhome.alipay.com/platform/appDaily.htm
修改AlipayConfig,
1.配置appid及支付宝网关
2.设置RSA2密钥:
下载支付宝密钥生成工具https://ideservice.alipay.com/ide/getPluginUrl.htm?clientType=assistant&platform=win&channelType=WEB
使用工具生成应用密钥和应用公钥
将工具生成的应用公钥放入沙箱测试环境的RSA2获取支付宝公钥,应用私钥配置到应用程序中
将支付宝公钥配置到应用程序中
配置两种支付成功回调地址(可使用内网穿透软件搭建测试环境)
内网穿透
简介
使用场景
开发测试,智慧互联,远程控制,私有云
内网穿透的几个常用软件
netapp,续断,花生壳
什么是商户私钥,支付宝公钥,加密,签名和验签
公钥和私钥
它们是一个相对的概念,它们的公私性是相对于生成者来说的,一对密钥生成后,保存在生成者手里的是私钥,生成者发布出去大家用的是公钥
两种加密方法
对称加密
非对称加密
支付宝处理请求流程图
若此时向支付宝发送一个请求订单order需支付100,
(1)使用商品私钥进行加签生成一个签名,签名和请求明文是成套的,将签名和请求明文都传给支付宝服务器
(2)支付宝使用商品公钥将明文解密,并将解密数据与签名对比(验签:防止中途传输明文时数据被恶意篡改)
(3)支付宝处理业务,生成响应报文
(4)支付宝使用支付宝私钥将响应报文加密(加签),然后将响应明文,和加签数据相应给商户
(5)商户使用支付宝公钥进行验签。