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支付寶支付就是這樣,如果寫的不好還請見諒~