下面开始填坑sql
第一个坑:缺乏相关的库文件,好比下面微信
很明显,有经验的一看,缺乏一个关键的库,sqlite3.tbd,导入相关库便可,测试
解决办法,以下图微信支付
以此经验,若是还爆出相似的错误,必定是缺乏相关的库,导入相关库就oK了spa
第二个坑:最常碰见的坑,最烦人的坑!code
#import <openssl/rsa.h> 这个头文件找不到!!!打开SDK查找这个头文件明明在里面,Xcode却说找不到,具体问题以下图:sqlite
下面说说我是解决这个的时候的思路ip
以前我是直接把整个SDK全部的文件拖进了Xcode工程,而后commond+B编译一下,看有没有缺乏支付宝所依赖的库文件,发现没有,以后爆出这个问题缺乏头文件,那么这时能够确定是编译头文件的路径错误,咱们能够仔细去看看支付宝官方的示例代码,发现它把SDK直接放在了工程下啦!而不是放在工程的某一路径文件下面!因而我参照他的作法,也把SDK直接放到本身的工程下面,以下图支付宝
操做完上述步骤以后,点击工程名,来到下面的界面继续按照图上的箭头继续操做ssl
点击上图红色框的右下角的+,添加$(PROJECT_DIR)/Alipay,表示吧SDK放到当前工程下,不是工程文件的某一路径下。而后再commond+B编译一下,发现这个问题解决了有木有!!!总算解决了这个棘手的问题!
第三个坑:全部环境都搭建好了,在真机支付时,却提示支付失败!心累!问题一波未平一波又起!具体问题以下图
报错ALI59!!
仔细检查代码,又去百度了,发现居然商品编号我填入了中文,个人天!
要解决这个问题,吧商品编号改成英文的就行了,
好啦,如今上班时间就写到这吧,若有错误,请留言!欢迎你们补充,或者吐槽一下本身在集成支付宝遇到的各类坑!
下次写写微信支付的坑!
(2016 4 26)今天忽然发现支付宝相关参数填错了,也会报这个错误,故而在这里更新一下,记录。
第四个坑:支付宝重复支付
以下图
报了一个ALI38869
这个缘由是:重复支付!!在程序里的体现是:订单号固定不变。而实际状况是要变化的!
程序错误示例以下
订单号应该是变化的,而不是写死的,这里只是作测试,你们在实际项目中不可这么写!
那解决办法就很容易了,吧订单号(tradeNO)随便修改一下就行了,和前面不相同便可!
第五个坑:支付宝回调失败的坑
有时候当咱们支付完毕后,不须要留在支付宝,而是回到原来所在的 APP,可是忽然遇到不能回调原来APP界面,显示的是一片白色的界面。好比,用户支付成功支付后,或者取消支付的时候,都应回到原来的APP,可是我这边却显示的是一片白色的界面,以下图
当我点击取消(红色箭头所指的叉),或者支付完成应该回到原来的界面。这是什么缘由了?我明明设置了URLschem,为何仍是不行?后来我恍然大悟,是否是URLschem设置成了中文,后来我果真猜对了,URLschem不能设置成中文!!!改为英文的,URLschem在下图设置
好了,修改为英文的就行了
支付宝常见的回调结果
在下面这个方法进行回调结果的处理
好比,以下图
当用户支付成功或者取消支付的时候,想要隐藏这个界面要怎么办了?
个人处理方法是:发通知让相应的控制器去影藏这个界面,处理方法以下:
好啦,快下班了,今天写到这里,有问题会持续更新的!!!