寫這篇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
}
}
returntrue
}
6:有時候opnssl和Util上有文件找不到,這是路徑上問題,在Build setting ->Header search path 上添加相對路徑(不推薦)或者絕對路徑【我推薦:找到這兩個文件->show in finder->command +I ->復制路徑,添加上去】
7:Build Success
ps:為什么swift發起支付不行,這個只有一點猜想,就是簽名的加密不對,如果誰知道,請指教!
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。