那些年,集成支付宝遇到的坑

下面开始填坑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在下图设置

好了,修改为英文的就行了

支付宝常见的回调结果

在下面这个方法进行回调结果的处理

好比,以下图

当用户支付成功或者取消支付的时候,想要隐藏这个界面要怎么办了?

个人处理方法是:发通知让相应的控制器去影藏这个界面,处理方法以下:

好啦,快下班了,今天写到这里,有问题会持续更新的!!!

相关文章
相关标签/搜索