最近项目需要添加支付宝支付功能,以前也没做过,直接看官方文档就开怼了
1、首先就去下个官方demo试试水

run一下出现下图这样

嗯,就是因为需要这两个参数:appID以及私钥,这两个参数都是找后台要的,其中私钥有两种,我们只需要一种就行,看你后台给你的是哪一种。

然后点击支付,可是我出现了个错误(AL140247),然后我查询并尝试了N种解决方法都还是这样,心灰意冷下就给放一边了,正在这时候我们后台重新给了我一个私钥,然后就可以支付了,,,,,我还能说什么 - -!


2、接入项目
由于我们后台接口还没有写好(原谅我们小公司只有一个后台,苦了他了,一个人搞两项目),所以我接下来的加签过程也是仿照支付宝官方demo在客户端完成的,这个注意一定要放在服务端完成,支付宝demo里也有说明的
2.1把demo里所需的文件都拖进你的工程(注意一个都不要少,不然后面会出现各种错误)

2.2添加依赖(Build Phases 选项卡的 Link Binary With Libraries 中)

2.3然后设置 URLSchemes(Info选项卡下的URL Types)
注意identifier没必要填,只是一个标识, URLSchemes要和代码里的 appScheme保持一致,用于支付宝处理回到应用的事件

2.4先编译一下,可能你会出现一个甚至多个错误

‘openssl/asn1.h‘ file not found 这个错误是因为你只是把openssl这个文件随便拉了进来,要在“ BuildsSetting ”里的 “ Header Search Paths ”后面输入你的这个文件路径,不想输的话直接把文件拖进来就自己生成路径了

再次编译,如果还是报错,看看前面步骤2.1里你是不是少导了一些文件
2.5控制器里代码
首先导入头文件

然后在支付按钮里复制demo里的代码就ok了,注意在下面代码的前面声明你的私钥 NSString *rsaPrivateKey = @“乱七八糟的一大串字符很长很长的真的很长的”;

嗯,大概就是这样了,到了后期实际上线,建议除了URLSchemes之外的数据都从后台获取,我们前端要做的事并不多,嗯,第一次写简书,可能写的很简陋,而且还从别的大佬那里盗了几张图来情景再现- -!希望对各位帅哥美女有一点小小的帮助,希望大佬们不要笑我,毕竟我只是个iOS开发小菜鸟,今天周五了,啊哈哈哈哈有放假了,又可以撸啊撸了~~
网友评论