一:支付宝支付
1.打开Demo中的错误
这是路径错误导致
解决办法:在Build Settings 中找到 Library Search Paths ,去掉其中的 ///
2.自己集成支付宝SDK时的错误
这个也是路径错误,
解决办法:在自己工程文件夹里建一个文件夹,随便起什么名字。把支付宝所需要的东西都拷贝进去,然后add files,然后找到TARGETS-Build Settings,在里面找到如下位置
把自己新建的文件夹拖动到这个框里面,再次运行就OK了,如果不行可以再多试几次.
3.跳转后出现“系统繁忙,请稍后再试(ALI59)”
问题情况:模拟器没问题,在没有按照支付宝的测试机上也可以。但是在安装了支付宝的机器上就不行了。
解决:原因是out_trade_no这个参数里不能有符号。我的订单号是获取当前时间确定的,获取后去掉字符串中的 : 就可以了。但是不知道为什么在模拟器上获取的当前时间就是没有:的
4.根据支付宝的文档,导入需要的库和文件如下
5. Cannot find interface declarationfor'NSObject', superclass of'Base64'
解决办法:在pch里面或者在报错的文件里面导入#import<UIKit/UIKit.h>
6. 没有导入三方库会报以下错误
二:微信支付
1.点击支付测试,跳转到微信支付的页面时,中间就只出现了一个“确定”按钮,点击之后返回到原APP,提示“支付失败,xxx -2”这样的提示。
首先确认是传递接口的字段导致的问题(很可能是sign错了)
a. package = @"Sign=WXPay" 注意服务器传来的"="会不会被转义成 %3D
b. sign的确需要大写,不像之前有些帖子说的要小写。