公司需要加入支付宝的sdk,但是关于iOS版的开发文档实在是少的可怜,看了几天之后基本实现了功能,还是留个纪念吧。(如果发现有错误的部分,请告诉我,大家共同进步。。)---妖妖
1 准备工作:
1. 先与支付宝签约,获得商户ID(partner)和账号ID(seller)(公司的工作)
2. 下载相应的公钥私钥文件
3:下载支付宝SDK
4:生成订单信息
5:调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道
6:支付完毕后返回支付结果给商户客户端和服务
2.调用支付宝的原理:(自己理解的)
1.客户端向支付宝发起支付请求,然后支付宝向支付宝的服务器发送请求,然后支付宝的服务器处理完成之后,向客户端返回一份处理的结果,同时向公司的后台服务器返回一份处理的结果。
注:其中可能在客户端向支付宝发起支付请求的时候,你的公司可能要求你首先将一份信息发送给你公司的服务器发送一份。不过这里就要看具体情况了。
其实真正的来说,支付宝只是在买家和商家(公司)之间提供了一个平台,将买家的钱打到卖家提前和支付宝签约的账户中。
3.支付环境的配置
支付宝的环境配置并不想百度地图一样有详细的配置文档,网上的配置也是各种各样的,所以我是将官方的文档下载下来自己分析之后,进行配置的。
这是支付宝的demo的资源目录:
那么就说说我是怎样配置的吧。。。
1. 首先我在需要新增支付功能的项目中新建文件夹pay,下面是文件夹里面的内容(如下图)。(这些全部是demo中的文件,但是我将他进行了处理,这样处理之后就将整个支付需要的文件都放在了一个文件夹中,使用起来清晰明了。)
其中openssl和util文件是demo中直接存在的,lib文件夹则是我将libcrypto.a,libssl.a文件加到他的下面,方便管理的。
2.将目录层次放好之后,就可以将它们一起加入到你的工程里面去了,利用addFilesTOXXX,将上面生成的pay文件夹加到自己的功能中即可。
注意:这里需要选择create groups ,这样你的文件真正的路径就和你的资源目录中的路径一致了。
3.配置环境
1.因为我的xcode8.4,所以没有pch文件,但是支付宝官方的demo是有pch文件的,所以需要你自己添加一个pch文件,然后将demo中的头文件写到你的pch文件中。(这个随后我会在一个单独的文件中记录)
2.将需要的框架加到工程中
3.现在运行程序,那么可能出现的问题
这是因为你没有配置文件的路径,现在就可以体现出我们上文配置比较完善的路径的好处了
设置target ->Build Setting Path->Head Search Path
在这里添加如第二条设置文件路径,但是必须注意的是pay文件必须存在于工程的根目录下面。需要注意的是写道openssl文件的路径即可,对照我上面的路径截图去做(弄花的部分是你的工程名)
4.环境配置已经完成了,现在你需要做的是在你的入口类里面加入demo中的这个函数
然后在填入已经申请好的这三个参数就可以了。
5.关于如何配置商品的参数,demo上面有详细的说明,我就不在详细叙述了。