Swift - 支付寶混編支付



 寫這篇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發起支付不行,這個只有一點猜想,就是簽名的加密不對,如果誰知道,請指教!


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com