第三方支付
Snip20161102_61.png支付宝第三方:进入官网开发者平台,下载支付SDK.
根据官网Demo提醒步骤进行操作.
注意沙箱环境:是测试用的假钱,测试使用的.
支付安全:有RSA秘钥负责.
应用网关:跟后台要.
授权回调地址:
用支付宝你测试用的app,复制boundleID.
AliPaySDK.
- 导入相关框架
- 导入相关的系统框架
- 导入相关头文件
--------------- 跟服务器有关的操作,开发中我们不用管,Demo演示需要 --------------------- - 组装商品信息.(购买多少信息,多少钱),发现没有,在官方Demo中.都是服务器负责的.
- 这一步应该在商户服务端完成,商户服务端直接将
- 导入openssl和Util文件夹的内容
- 这时为了实现服务器加密的
- 需要导入Demo中的库.
- 配置我们自己的scheme,进行返回跳转
某些文件重需要手动导入Foundation
找不到<openssl/asn1.h>
配置项目路径(不能使用绝对路径,需要使用相对路径)
- 在buildSetting中搜索Header Search Path ,指定项目目录(openssl所在的目录)
- $(SRCROOT) 表示项目目录
- $(PROJECT) 表示项目名
当从其他的应用程序跳转回来需要触发appDelegate的一个代理方法.
iOS9.0前后不一样的两个方法.
- application handle
** 实际开发的关键:目的就是为了获取"签名后的商品信息" **
RSA加密:
- 事先生成一对对应的公钥私钥(一对)
- 私钥签名,公钥验证
- 公钥加密数据,私钥来解开(数据加密)
私钥签名:能够保证数据的不可抵赖性.
提供公钥给支付宝,我自己有我的私钥.
我们可以拿到支付宝的公钥,支付宝有自己的私钥.
我的应用集成AliPaySDK
过程:我们先用私钥签名,加密数据(支付宝则用我提供的app的公钥验证我的签名不是马上做).然后我们拿到签名后的商品信息数据通过支付宝的公钥进行加密传输,支付宝获取到的数据,首先可以通过我们提供的公钥知道是我们发的信息,再通过AliPay的私钥去获取我们的数据.
示意图:
App支付结果的异步通知:
支付宝会处理结果给支付宝服务器,支付宝服务器会有支付结果.然后进行回调
- 同步回调:返回给支付宝,支付宝返回给AliPaySDK,再返回给我的程序.
- 异步回调(跟AliPay无关):支付宝会发送异步请求告诉我们的服务器.然后服务器(才是最重要的数据处理角色),我们手机端的数据都是从服务器上判断的.
app上的数据不安全,涉及到的用户的安全数据,基本都是放在服务器上面,因为马上修改马上有效.
网友评论