由于支付宝改版,申请服务上有些变化,基本流程为:注册账号->添加应用->添加工程->针对功能签约。

以下有可参考的网页:

1、签约方案:https://openclub.alipay.com/read.php?tid=276&fid=25

2、APP支付报错ALI40247处理方案: https://openclub.alipay.com/read.php?tid=250&fid=2

在进行ios集成支付宝的问题上,坑了好久,主要是两个地方折腾了好久,

1、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"这条错误已经没有了

2、在没有添加对正确的依赖库,编译应该会有这样的"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",

3、支付宝回调问题:前段时间有人问过我支付宝中的回调怎么用,所以这里简单说明下。在集成支付宝支付的时候,会有两个回调,一个在AppDelegate中,一个在支付代码中,都是支付成功的回调,区别是,在AppDelegate中的回调是调用客户端支付成功后的回调(成功和失败),在支付处的回调(指的是调用[AlipaySDK defaultService] payOrder:fromScheme:callback:)是通过web支付成功的回调。其中resultStatus对应状态为:

     9000 订单支付成功
     8000 正在处理中
     4000 订单支付失败
     6001 用户中途取消
     6002 网络连接出错

顺带吐槽一下支付宝开发平台中对于ios集成的开发文档真够可以的,在解决第2个问题的时候,本来打算查看官方的集成文档是否列出了,必须的依赖库,找了好久,最后还是没有找到;最后实在没办法,对照支付宝的demo中的依赖库,一个个对比,最后发现第2个问题中列举的四个必须library