美文网首页iOS支付技术IAPiOS Developer
封装内购支付,只需调用几个方法就能实现内购功能

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

作者: 皮乐皮儿 | 来源:发表于2017-07-08 11:55 被阅读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源码上,有需要的可以前去查看

相关文章

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

    公司项目用到内购这块,看着上个版本的老代码,觉得很乱,就整理了下,将内购支付功能封装成了一个工具类,外界只需要调用...

  • iOS集成苹果内购

    一、创建苹果内购支付管理工具 SIAPManager 二、调用内购支付工具 导入内购工具#import "SIAP...

  • 苹果内购和Apple Pay 的区别

    苹果内购 和 Apple Pay 的区别 关注苹果支付和内购也是从苹果发布打赏功能必须走“内购”流程后,引发微信以...

  • 内购和Apple Pay的区别

    内购 和 Apple Pay 关注苹果支付和内购也是从苹果发布打赏功能必须走“内购”流程后,引发微信以及其他直播平...

  • iOS支付

    iOS支付分为两类,第三方支付和应用内支付(内购)。 应用内支付(In-App Purchase):在应用程序内购...

  • Flutter 接入iOS苹果内购支付踩坑过程

    如何配置内购商品 坑1:项目与价格配置 苹果内购支付和我们平时接入支付宝或者微信支付有很大的差别。 苹果内购支付的...

  • iOS支付

    支付宝支付 支付宝支付支付宝补充 微信支付 微信支付 内购 iOS开发 内购流程

  • Apple应用内支付详细代码实现

    前一段时间项目中有用到内支付功能,虽然之前有接触过,但都是别人把内购申请整个流程都做完了,我只需要写代码实现具体内...

  • 2018-11-05面试准备

    曾经做过的项目中遇到的比较棘手的问题是什么? 苹果内购IAP 1. 支付封装在一个内购的类中 ~MTIAPTool...

  • 内购代码和充值界面的封装

    前言:项目中用到了内购,这里主要想记录一下内购代码封装和充值界面的封装,其实内购代码也参考了网上其他的人的,只是好...

网友评论

  • 68ffb1c88190:请问这个问题你遇到过吗:如果用户是第一次支付,需要去绑定银行卡或者支付宝什么的,绑定成功后再继续支付,扣款成功后客户端不知道什么问题并没有收到SKPaymentTransactionStatePurchased回调,造成掉单,这个问题怎么避免呢?
  • a浮生若梦a:你好,我现在有一个问题,苹果填写内购产品,最多6个吗?我在添加的时候,显示已储存,但是返回列表后还是没有添加的那条数据,请问这是苹果什么原因吗,
    a浮生若梦a:@顾语流年 嗯,没有限制,是苹果后台问题,我今天再看就可以了,谢谢你:pray:
    皮乐皮儿:@a浮生若梦a 内购产品列表应该是后台获取的吧,这个应该没有限制的,你看看是不是你两者的id设置成一样了

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

本文链接:https://www.haomeiwen.com/subject/iyidhxtx.html