写这篇blog的时候我刚通个宵,现在是下午的12:58啦,表示很淡定,没什么波动,主要昨天浪费了我很多时间,所以写下来,想给其他人一些帮助,当时也搜了很多资料和找度娘,找阿里的客服,【然后阿里客服原话就是我们业务很忙的,没工夫理你】
废话不多说直接上步骤:
1:下载最新版sdk2.0,将以下文件拖入Swift项目里,建立桥接文件,引用项目头文件。
2:按照OC引用库添加,先不要Build。
3:记得在桥接文件中添加
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "Order.h"
#import "APAuthV2Info.h"
#import "RSADataSigner.h"
#import <AlipaySDK/AlipaySDK.h>
#import <CommonCrypto/CommonCrypto.h>
4:这个时候Build会报错误,base64和其他一个文件,如果是Nsstring或者Nsdata报错直接怼
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
在那个文件中
5:还有一个路径问题,build success后,用order生成订单信息,发起支付,就会提示无法获取订单信息活着AL的错误编码,但是我把参数放到OCdemo中,可以正常支付,最后我的解决方法是写一个OC支付类,继承VC或者单例都可以,结果可以支付。
在appdelegate中设置所有,钱包,H5支付的回调:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
if url.host! == "safepay" {
AlipaySDK.defaultService().processAuthResult(url, standbyCallback: { (result) in
})
//认证支付回调
AlipaySDK.defaultService().processAuth_V2Result(url, standbyCallback: { (result) in
})
//q钱包支付宝回调
AlipaySDK.defaultService().processOrder(withPaymentResult: url) { (result) in
}
}
return true
}
6:有时候opnssl和Util上有文件找不到,这是路径上问题,在Build setting ->Header search path 上添加相对路径(不推荐)或者绝对路径【我推荐:找到这两个文件->show in finder->command +I ->复制路径,添加上去】
7:Build Success
ps:为什么swift发起支付不行,这个只有一点猜想,就是签名的加密不对,如果谁知道,请指教!
本文详细介绍使用Swift集成支付宝SDK进行支付的过程,包括下载SDK、配置项目、解决常见错误及实现支付回调等内容。
2551

被折叠的 条评论
为什么被折叠?



