关闭

ios 支付宝开发

标签: ios支付宝编译警告移动开发
828人阅读 评论(0) 收藏 举报
分类:

以前没做过支付,觉得很难,有经验后,发现其实真正的难点在Java端,关联数据业务逻辑比较麻烦,前端就比较简单。首先,你们公司要去申请获得支付的SDK。获得支付SDK,那么接下来就可以进行移动开发了。

一、工程配置

1、导入静态文件libssl.a​和libcrypto.a(这个是在支付SDK里面)

2、建立文件夹,导入支付需要的类库AlipaySDK.bundle​、AlipaySDK.framework、openssl(文件夹)、Util(文件夹)、APAuthV2Info.h/.m、Order.h/.m文件

3、在Build​ settings 里面搜索search ,在Search Path 里面找到Header Search Path 填写openssl文件夹的路径:$(SRCROOT)/项目名

4、注意include”“和include<>的区别,一边编译都会出现#include ​这个文件找不到,那么就是路径问题咯,那你在Header Search Path 填写openssl文件夹的路径就要填写完整。

5、在需要支付的地方导入​AlipaySDK.bundle​、和APAuthV2Info.h、Order.h文件即可

6、一般都会有唯一分配一个partner​​和seller和privateKey三把钥匙 后端还要指定一个回调的URL

7、app需要注册scheme,在plist文件定义URLtypes​

8、改变编译方式:language standand library :libstic++(GUN standand library)

9.兼容iOS9.0不回调客户端问题,报错:
-canOpenURL: failed for URL
原因很简单:app没有添加是否允许访问支付宝客户端的白名单,没有添加,默认就不允许访问,直接跳转到支付宝网页进行支付,解决如下,在plist文件增加
这里写图片描述

常见的白名单如下:
这里写图片描述

原因解释如下:
这里写图片描述

10、添加系统依赖库
这里写图片描述

​二、可以开始支付代码了
1、订单对象
这里写图片描述
2、保持不变化的代码
这里写图片描述
3、定义Scheme,在plish文件中增加URL Type属性
这里写图片描述
4、注册应用并携带私钥签名
这里写图片描述
5、支付状态的block
这里写图片描述
经常回到的问题:
(1)提示系统繁忙
可能造成的问题: 订单参数存在为空的状况
(2)编译造成的错误
可能造成的问题: opensell 找不到.h文件,也就是绝对路径和相对路径的问题。Header Search Path 填写opensell文件夹所在的路径。如果是黄色文件夹,那么为相对路径(SRCROOT)/:(SRCROOT)/项目名/文件夹/子文件家
(3)得到支付的状态码9000支付成功,你也别开心太早,还得请求后台看是否订单下单成功了,下单成功后才算真正的成功,如果未成功的话,那么迭代继续请求知直到成功为止。
(4)如果手机没安装支付宝,那么会跳转到网页版支付宝,支付成功会走支付状态的block,如果有客户端,支付成功也会跳转到支付状态的block,但是如果缺少这行代码,你会发现,不会走支付状态的block,在delegate.m实现下面的代理方法
这里写图片描述

编译警告:
这里写图片描述
解决方法如下:
这里写图片描述

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:120094次
    • 积分:2103
    • 等级:
    • 排名:第19194名
    • 原创:120篇
    • 转载:5篇
    • 译文:0篇
    • 评论:13条
    最新评论