iOS支付技术IAPiOS Developer

封装内购支付,只需调用几个方法就能实现内购功能

2017-07-08  本文已影响246人  皮乐皮儿

公司项目用到内购这块,看着上个版本的老代码,觉得很乱,就整理了下,将内购支付功能封装成了一个工具类,外界只需要调用一个方法,传入商品id,就能够实现支付功能,请求商品成功,失败,支付成功,失败都有对应的闭包模块供外界调用进行相关的处理

1.首先是判断手机是否打开的内购项目的功能

//验证是否能够内购
    public class func canMakePayments() -> Bool {
    
        return SKPaymentQueue.canMakePayments()
    }

2.开启内购商品请求

 //根据商品id创建订单请求
    public func startPaymentRequest(productId:String) {
    
        var productArr = [String]()
        productArr.append(productId)
        let productSet = NSSet(array: productArr)
        let request = SKProductsRequest(productIdentifiers: productSet as! Set<String>)
        request.delegate = self
        request.start()
    }

3.支付成功与失败的回调

 if let block = transactionSuccess {
                    block(currentTransaction)
                }
 if let block = transactionFailure {
                    block(currentTransaction)
                }

这里相关处理的并不是很详细,有具体需要的可以酌情修改添加部分回调即可
详细的代码已经上传到了GitHub源码上,有需要的可以前去查看

上一篇 下一篇

猜你喜欢

热点阅读