iOS swift 4.0 支付寶支付

iOS應(yīng)用中調(diào)用支付寶支付的方法
默認后臺已經(jīng)對orderString進行處理,app中直接能拿到orderString,然后進行調(diào)用。
首先去支付寶官網(wǎng)下載iOSDemo,導入到工程中


image.png

然后在TARGETS點擊General,找到Linked Frameworks and Libraries,導入如下的支付寶SDK的依賴庫


image.png

然后在你的調(diào)用支付寶支付的界面,假設(shè)這里是選擇支付寶跟微信支付,如下圖
11536724470_.pic.jpg

因為微信的接下來做,這里先寫支付寶的
AlipaySDK.defaultService().payOrder(orderString, fromScheme: appScheme){
                        result in
                    }

調(diào)用支付寶支付就是這一句話
orderString是服務(wù)器返回的,appScheme是自己定義的,不能重復,需要在代碼中定義

let appScheme = "yourappScheme"http://你自己的appScheme

然后前往工程,TARGETS,Info下面的URL Types,新增一個


image.png

千萬記住yourappScheme與 URL Schemes一致
為了拿到支付寶返回的數(shù)據(jù),需要在AppDelegate.swift增加

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
        if url.host == "safepay"{
            AlipaySDK.defaultService().processOrder(withPaymentResult: url){
                value in
                let code = value!
                let resultStatus = code["resultStatus"] as!String
                var content = ""
                switch resultStatus {
                case "9000":
                    content = "支付成功"
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "aliPaySucceess"), object: content)
                case "8000":
                    content = "訂單正在處理中"
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "aliPayUnknowStatus"), object: content)
                case "4000":
                    content = "支付失敗"
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "aliPayDefeat"), object: content)
                case "5000":
                    content = "重復請求"
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "aliPayDefeat"), object: content)
                case "6001":
                    content = "中途取消"
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "aliPayDefeat"), object: content)
                case "6002":
                    content = "網(wǎng)絡(luò)連接出錯"
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "aliPayDefault"), object: content)
                case "6004":
                    content = "支付結(jié)果未知"
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "aliPayUnknowStatus"), object: content)
                default:
                    content = "支付失敗"
                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "aliPayDefeat"), object: content)
                    break
                }
            }
        }
        return true
    }

附上支付寶官方對于resultStatus的解釋


image.png

NotificationCenter處是給你的viewController發(fā)消息,說明支付寶回調(diào)了數(shù)據(jù)
關(guān)于2018年最新的iOS支付寶支付就是這樣,如果寫的不好還請見諒~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容