标题:
封装内购支付,只需调用几个方法就能实现内购功能
[打印本页]
作者:
look_w
时间:
2019-2-20 18:58
标题:
封装内购支付,只需调用几个方法就能实现内购功能
公司项目用到内购这块,看着上个版本的老代码,觉得很乱,就整理了下,将内购支付功能封装成了一个工具类,外界只需要调用一个方法,传入商品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)
}
这里相关处理的并不是很详细,有具体需要的可以酌情修改添加部分回调即可
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0