swift - 支付宝

2016-11-11  本文已影响118人  劉戦軍

一、(可参照)最新版支付宝支付流程:

二、首先需要下载最新版的支付宝SDK

支付宝官方Demo与SDK下载.png 官方Demo与SDK中需要集成的内容.png 桥接文件中导入头文件.png

三、然后只需要一句代码就可以搞定支付宝了

上代码:

    func application(application: UIApplication, handleOpenURL url: NSURL) -> Bool {
        
        WXApi.handleOpenURL(url, delegate: self)
        
        //支付宝支付的回调
        if url.host!.isEqualToStr("safepay"){
            AlipaySDK.defaultService().processOrderWithPaymentResult(url)
            {
                CHAliPay.zhifubaoPayCallBack($0)
            }
        }
        
        if url.host!.isEqualToStr("platformapi"){
            AlipaySDK.defaultService().processAuthResult(url)
            {
                CHAliPay.zhifubaoPayCallBack($0)
            }
        }
        
        return true
    }

import UIKit

class CHAliPay: NSObject {
    
    // 支付宝支付, 这里需要将发送给支付宝的这个字符串传进来即可
    class func aliPay(payParams: String) {
        
        //应用注册scheme,在AlixPayDemo-Info.plist定义URL types一致
        let appScheme = "AlipayProject"; //需要和URL Types统一
        
        AlipaySDK.defaultService().payOrder(payParams, fromScheme: appScheme) { (dict) in
            self.zhifubaoPayCallBack(dict)
        }
    }
    
    //支付宝支付的回调
    class func zhifubaoPayCallBack(resultDic:[NSObject : AnyObject]){
        
        if let Alipayjson:[String:AnyObject] = resultDic as? [String:AnyObject]{
            let resultStatus = Alipayjson["resultStatus"] as! String
            if resultStatus == "9000"{
                print("订单支付成功")
                NSNotificationCenter.defaultCenter().postNotificationName(kThirdNotification, object: self, userInfo: nil)
            }else if resultStatus == "8000" {
                print("正在处理中")
            }else if resultStatus == "4000" {
                print("订单支付失败")
            }else if resultStatus == "6001" {
                print("用户中途取消")
            }else if resultStatus == "6002" {
                print("网络连接出错")
            }
        }
    }
}

提示: 除了上面需要配置的信息, 下面的代码可以直接拷贝, 需要严格按照步骤集成支付宝, 出现"ALI69, ALI......"之类的问题, 请前后台直接参考步骤一流程即可解决

上一篇 下一篇

猜你喜欢

热点阅读