因为支付宝改版,申请服务上有些变化,基本流程为:注册帐号->添加应用->添加工程->针对功能签约。php
如下有可参考的网页:html
一、签约方案:https://openclub.alipay.com/read.php?tid=276&fid=25ios
二、APP支付报错ALI40247处理方案: https://openclub.alipay.com/read.php?tid=250&fid=2c++
在进行ios集成支付宝的问题上,坑了很久,主要是两个地方折腾了很久,web
一、search paths中Header Search paths 设置问题, 搜索网上的资料,发现都是在这一项添加$(SRCROOT)/xxx/openssl这条路径,可是发现依然提示"'openssl/asn1.h' file not found",最终查阅众多资料发现,缘由是include <> ""的缘由,<> ""能够简单参考这个网址http://blog.chinaunix.net/uid-23922099-id-3586571.html,那么解决这条错误方法就是将"$(SRCROOT)/xxx/openssl"替换成"$(SRCROOT)/xxx/",再次编译,"openssl/asn1.h' file not found"这条错误已经没有了网络
二、在没有添加对正确的依赖库,编译应该会有这样的"Undefined symbols for architecture x86_64:"的错误,那么就须要在build phases->Link Binary With Libraries 添加以下四个library, "CoreMotion.framework"、"CoreTelephony.framework"、"libc++.tbd"、"libz.tbd",添加完以后而且在1中的问题解决的状况下,能够成功编译;不然,请查看支付宝提供的四个文件是否已经正确添加,"AlipaySDK.bundle"、"AlipaySDK.framework"、"libcrypto.a"、"libssl.a",ui
三、支付宝回调问题:前段时间有人问过我支付宝中的回调怎么用,因此这里简单说明下。在集成支付宝支付的时候,会有两个回调,一个在AppDelegate中,一个在支付代码中,都是支付成功的回调,区别是,在AppDelegate中的回调是调用客户端支付成功后的回调(成功和失败),在支付处的回调(指的是调用[AlipaySDK defaultService] payOrder:fromScheme:callback:)是经过web支付成功的回调。其中resultStatus对应状态为:spa
9000 订单支付成功
8000 正在处理中
4000 订单支付失败
6001 用户中途取消
6002 网络链接出错.net
顺带吐槽一下支付宝开发平台中对于ios集成的开发文档真够能够的,在解决第2个问题的时候,原本打算查看官方的集成文档是否列出了,必须的依赖库,找了很久,最后仍是没有找到;最后实在没办法,对照支付宝的demo中的依赖库,一个个对比,最后发现第2个问题中列举的四个必须libraryunix