iOS 内购遇到的坑】的更多相关文章

一.内购沙盒测试账号在支付成功后,再次购买相同 ID 的物品,会提示如下内容的弹窗.您以购买过此APP内购项目,此项目将免费恢复 原因: 当使用内购购买过商品后没有把这个交易事件关,所以当我们再次去购买商品后就会调用以前已经购买成功的交易事件去购买因为已经购买过,才会有这个提示 解决方法: 1.当我们使用[[SKPaymentQueue defaultQueue] addPayment:payment];这个方法进行支付请求后,因为我们已经把支付所需要的信息都添加到苹果的支付队列,苹果会自动完成…
项目是三四年前的老项目,之前有IOS内购二次验证的接口,貌似很久都没用了,然而最近IOS的妹子说接口用不了,让我看看啥问题.接口流程时很简单的,就是前端IOS在购买成功之后,接收到receipt后进行了base64加密,然后传到我们服务端进行二次验证,确认用户是否购买成功,确认成功后创建自己的订单.然而就是这么简单的转发校验过程,居然一直返回state="21002",网上查了下资料说是"receipt-data域的数据有问题",于是我就和妹子说你传给我的数据不对.…
    如果有人以后要在做内购这一块.希望可以好好的阅读这篇文章,虽然不是字字珠玑.但是也是本人亲人趟过了无数的坑,希望可以对大家有所帮助!  下面是在研究工程中遇到的问题(iOS 内购的流程如下 1. 程序向服务器发送请求,获得一份产品列表. 2. 服务器返回包含产品标识符的列表. 3. 程序向App Store发送请求,得到产品的信息. 4. App Store返回产品信息. 5. 程序把返回的产品信息显示给用户(App的store界面) 6. 用户选择某个产品 7. 程序向App Stor…
IOS 内购支付两种模式: 内置模式 server模式 内置模式的流程: app从app store 获取产品信息 用户选择须要购买的产品 app发送支付请求到app store app store 处理支付请求.并返回transaction信息 app将购买的内容展示给用户 server模式的流程: app从server获取产品标识列表 app从app store 获取产品信息 用户选择须要购买的产品 app 发送 支付请求到app store app store 处理支付请求,返回trans…
IOS 内购支付两种模式: 内置模式 服务器模式 内置模式的流程: app从app store 获取产品信息 用户选择需要购买的产品 app发送支付请求到app store app store 处理支付请求,并返回transaction信息 app将购买的内容展示给用户 服务器模式的流程: app从服务器获取产品标识列表 app从app store 获取产品信息 用户选择需要购买的产品 app 发送 支付请求到app store app store 处理支付请求,返回transaction信息…
https://www.jianshu.com/p/4045ebf81a1c Unity苹果(iOS)内购接入(Unity内置IAP) Kakarottog                          关注                              2017.07.13 16:46*               字数 1920             阅读 6592评论 19喜欢 10          [[[本教程针对Unity5.4版本!!其它版本需要自己做一些修改]]…
iOS 内购相关 下面总结一下过往订阅和内购的项目的代码方面的实现细节和注意事项,特别是掉单方面的处理. 后台的协议.商品ID.银行卡.内购类型.沙盒账号测试人员都由运营或者产品在苹果后台中申请处理. 这里主要讲内购的代码,内购的代码主要分为两大部分:商品的查询.商品的购买. 1.首先先创建一个单例,创建单例的第一时间同时要加上对苹果订单状态变化的监听[[SKPaymentQueue defaultQueue] addTransactionObserver:self];这样所有的历史订单都会回调…
公司的公共库原来并没有这部分的代码,以前做内购是用两个比较有名的github上的第三方库.一个叫MKStoreKit,另一个叫IAPManager,我看了一下写的都很辣鸡,使用起来很不方便,而且写的还不对...... 于是我自己写了一个,一开始写的也不是很好,受了上面两个垃圾库的影响(这两个库接口是用postNotification的),使用时还要监听事件,下面的小弟吐槽说不太好用.于是我又重做了一个接口为block的版本,感觉写的还是不错的.这下用的就很舒服了! 虽然github上也有几个写的…
一.总说内购的内容 1.协议.税务和银行业务 信息填写 2.内购商品的添加 3.添加沙盒测试账号 4.内购代码的具体实现 5.内购的注意事项 二.协议.税务和银行业务 信息填写 2.1.协议.税务和银行业务 信息填写 的入口 2.2.选择申请合同类型 进入协议.税务和银行业务页面后,会有3种合同类型,如果你之前没有主动申请过去合同,那么一般你现在激活的合同只有iOS Free Application一种. 页面内容分为两块: Request Contracts(申请合同) Contracts I…
参考网址:https://blog.csdn.net/que_csdn/article/details/80861408 http://www.php.cn/php-weizijiaocheng-394625.html 上面的地址写的都不错的 可以参考改改代码  即OK!!!! 一.苹果APP支付到服务端验证流程 1. 用户在app中点击购买: 2. app调用服务端接口生成订单: 3. app获取到服务端订单生成成功后弹出支付窗口: 4. 用户输入密码支付: 5. app接收支付后apple应…
内购的五种产品类别 •非消耗品(Nonconsumable)买了就有,头衔,功能 –指的是在游戏中一次性购买并拥有永久访问权的物品或服务.非消耗品物品可以被用户再次下载,并且能够在用户的所有设备上使用 •消耗品(Consumable),买了就用,用了就没 –专为支持可消耗的物品或服务设计的,消耗品购买不可被再次下载,根据其特点,消耗品不能在用户的设备之间跨设备使用,除非自定义服务在用户的账号之间共享这些信息 • •以下三种类别在iBooks中使用,目前iBooks不支持大陆市场 •ISBN:每本…
1.添加框架,storeKit.framework 需要真机调试 /* 内购五步: 1.请求可销售商品的列表 2.展示课销售的商品 3.点击购买 4.开具小票 5.创建交易对象并添加到交易队列 6.创建监听对象,监听交易队列中交易对象的交易状态 7.程序结束移除监听对象 */ #import "ViewController.h" #import <StoreKit/StoreKit.h> @interface ViewController ()<SKProductsR…
内购的关键类: 1.SKPayment(SKMutablePayment可将自己的参数一对一与苹果产生的payment对应起来) 2.TransactionObserver:交易状态更新时执行此方法,此方法会传入交易SKPaymentTransaction数组,对数组进行遍历,对不同状态进行对应的操作 (SKPaymentTransactionStatePurchasing,SKPaymentTransactionStatePurchased,SKPaymentTransactionStateF…
什么是内购? 只要在iPhone App上购买的不是实物产品(也就是虚拟产品如qq币.虎牙币.电子书......) 都需要走内购流程,苹果这里面抽走三成.   使用内购需要走的流程. 1,填写协议,税务和银行业务; 2,填写用户和职能; 创建内购的项目 3,写代码,和后台配合 4,添加项目内购测试账号;检验成果   具体步骤: 接下来的步骤特别繁琐,请做好准备. 一.填写协议,税务和银行业务配置  https://itunesconnect.apple.com/login 1.请求合同 填写地址…
因业务需要实现了APP内购处理,但在过程中出现了部分不可控的因素,导致部分用户反映有充值不成并漏单的情况. 仔细考虑了几个付费安全上的问题,凡是涉及到付费的问题都很敏感,任何一方出现损失都是不能接受的,所以在这里整理一些支付安全的要点分享一下. 支付方式 IAP是指In-App Purchase, 是一种付费方式,而并不是苹果专有的付费方式,在其它平台上也会有不同的实现,这里针对Apple IAP. 说到IAP安全问题,在苹果的IAP流程中有一个比较明显的逻辑漏洞,这个逻辑漏洞是建立在我们处理不…
前言 说起内购,其实挺令开发者厌烦的,原因呢,先不说漏单的问题,首先苹果要扣除30%的销售额哦,可恨不?(我觉得可恨),有些想办法先隐藏掉第三方支付(支付宝.微信等),等项目上线了,再跳过内购使用第三方支付,emmmm.......这个方法确实不错,但是如果被苹果发现了,APP内虚拟产品调用第三方支付,那好吧,直接下架吧(或许没这么惨,但会惨不忍睹),不要说发现不了,会有人举报哦(别问我怎么知道的):其次就是漏单问题的处理,这一直是个问题,我的项目里虽然做了处理,但是还是会避免不了漏单的,只是把…
注意:使用了IAP的App必须先配置好协议.税务和银行业务 一.创建一个App应用 1.登录iTunes Store,点击我的App 2.新建一个App(如果App已经创建,直接点击App进入就行了) 3.填写App的基本信息 二.添加内购项目 1.点击功能进入App内购项目页面添加内购项目 2.选择内购项目类型 3.填写内购产品信息 三.添加沙盒账号 1.回到iTunes Store首页,点击用户和职能 2.点击沙箱技术测试员 3.填写沙箱账号信息 PS:沙箱账号的邮件地址是需要没有注册过Ap…
内购流程: 1. 用户先拿到购买产品的单子, 2. 拿着单子去苹果那里交钱,交完钱让苹果在单子上盖个章 3.拿着盖了章的单子传给自己的服务器来验证是否真的支付成功,服务器是跟苹果验证(我们客户端也是可以跟苹果验证的,只是这样安全性不高) 4.根据服务器返回的信息做具体的处理  先上代码干货 * 设置这个监听对象,会在该界面时时监测支付的状态变化 ``` -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; /…
这个估计是我踩过的最大的坑,当时做微信支付的时候也没这么坑爹,当然他俩也半斤八两... 苹果官方明确表示:验证支付时,可能会有一定的延迟.第一次处理的时间就专注的解决这个问题了,忽略了掉单的问题(稍后再说),让我多次更新支付代码才降低了掉单率. 常识: 1,返回状态码含义: 2.正常返回结果格式: { "environment": "Sandbox", "receipt": { "in_app": [ { "tran…
协议.税务和银行业务,这一选项是当你App使用了In-app purchaes时候,你跟苹果签订协议的,需要签订合同和填写你的银行收款等信息 一.填写法人信息 1.登录iTunes Store,点击协议.税务和银行业务 2.请求合同 3.填写法人信息,按照要求填写 3.勾选同意,然后提交 4.提交后,会跳转到下面这个页面 二.填写联系人信息 1.点击Contact Info 的Set Up,填写公司联系人的信息 2.填写公司的联系人 3.都填写完记得保存,然后回到上一个页面 三.填写银行信息 1…
本文会给大家详细介绍iOS内购,这是本人16年5月底的开发过程,希望对看完此篇文章的人有所帮助. 本文基于XcodeVersion 7.3 (7D175)版本,手机是iPhone 6,9.3系统. 部分地方直接摘自网络,基本上是我的逻辑,省时省心省力. 一. 创建测试App 首先你需要登录 App的ItunesConnection,你会看到如下界面 简单的介绍一下这几个选项 1.我的App主要用于管理自己的App应用,例如编辑资料,上架,下架等.2.销售和趋势主要是来查看App在各个平台的下载量…
看到网上文章一大把,看了这个觉得挺不错的,谢谢 iOS大全 公众平台; 原文:http://mp.weixin.qq.com/s?__biz=MzAxMzE2Mjc2Ng==&mid=2652155479&idx=3&sn=141d4fac9c1a03745fcf7a247db03bfb&chksm=8046ce36b73147202e1325a40a97781b79c505298a7ed7abc7961037715b8b07812d634787f1&scene=0…
之前没有做过IOS 内购服务器验证这块,所以找了不少参考资料,网上大多php和java版本,然后自己搞了一个C#版本,希望能给大家一些参考,下面步入正题 在客户端向苹果购买成功之后,我们需要进行二次验证. IOS在沙箱环境下购买成功之后,向苹果进行二次验证,确认用户是否购买成功. 当应用向Apple服务器请求购买,成功之后,Apple会返回以下四个数据给应用 public bool ValidateApplePay() { //客户端post过来的参数 string appleReceipt =…
1.iOS开发苹果内购的介绍 1.1 介绍 苹果规定,凡是虚拟的物品(例如:QQ音乐的乐币)进行交易时,都必须走苹果的内购通道,苹果要收取大约30%的抽成,所以不允许接入第三方的支付方式(微信.支付宝等),当然开发者可以设置后门,在审核时避开审核人员.这个是有风险的,一旦发现,app会被立即下架,还是老老实实接入内购吧. 1.2 注意 内购接入还是比较简单的,苹果提供了专门的框架<StoreKit/StoreKit.h>,只要按照它提供的api进行开发就行.然而,接入的过程还是有需要注意的地方…
内购示意图 准备条件 苹果的开发者证书,已经为应用启用App内购,并在Xcode更新配置文件 itunes store设置 itunes中创建App及其它设置 参考:iOS应用程序内购/内付费(一)  http://blog.csdn.net/shenjie12345678/article/details/40978977 注意事项 创建带价格的商品 1.一定要同意协议.银行.税务的协议,才能创建有价格的商品,且协议的状态一定要是已经生效 ,一般一两小时内就可以生效 参考:iOS App提交指南…
很久之前就想出一篇IOS内付费的教程,但是一查网上的教程实在太多了,有的写得真的蛮不错的,就心想算了,于是就保存在草稿箱了.至于为什么写完它呢!真是说来话长,最近公司有个项目经理跑来问我有关苹果内付费相关的细节,跟他聊了半天,从项目对接苹果官方支付接口聊到了如何查看App收益,最后终于使他有了一些眉目,但是悲催的是还要我继续去跟他们项目的程序员讲解(真是疯了),所以我就决定给他们项目写一个内购的文档,所以我顺便把这篇博客完成吧! 首先进入苹果的ItunesConnection(https://i…
作者:CC老师_MissCC链接:http://www.jianshu.com/p/e3bc47e81785來源:简书 苹果内购 1.什么是内购? 如果你购买的商品,是在本app中使用和消耗的,就一定要用内购,否则会被拒绝上线,例如:游戏币,在线书籍,app中使用的道具等虚拟产品.如果购买的就是普通的商品,例如淘宝买东西等,就不需要用内购.内购的话,苹果公司需要抽取30%佣金. 当然,打赏功能被纳入内购项目中.所以例如微信打赏功能.直播项目打赏主播都必须采用内购. 可以简单理解成,带有内购功能的…
问题描述: 添加内购的App审核时被拒,原因为:ios内购 元数据丢失 问题原因: 审核信息里的 “审核屏幕快照” 和 “备注” 要填写,不然就失败的. 示例图: 1.屏幕快照和审核备注都需要填写  2.App内购项目状态会有“缺少元数据” 到 “待提交状态”  3.提交审核时,记得在App内购买项目中勾选(☑️)相关内购项目…
一,前言 经典文章参考: . http://yimouleng.com/2015/12/17/ios-AppStore/ 内购流程 . http://www.jianshu.com/p/b199a4672608 完成交易后和服务器交互 . http://www.jianshu.com/p/1ef61a785508 沙盒账号测试      思维导图      重点总结: 1.获取内购列表(从App内读取或从自己服务器读取) 2.App Store请求可用的内购列表 3.向用户展示内购列表 4.用户…
此篇针对 iOS 支付进行一次小结,很久没碰这块了,有些方法 Apple 官方也进行了优化,故也将随之进行更新. 首先,code 部分将分为两部分,一部分在 appdelegate 中,另一部分单独封装在了一个类中执行,需要使用的地方调用的接口方法. 其次,大体支付流程为获取到充值价格订单列表后,选择对应的价格后向 Apple 发起支付请求,接收到 Apple 支付回调后,根据结果处理相关逻辑,最后将处理完成的结果反馈至用户. 其过程中会分为几个环节来处理: 若支付失败则执行异常处理并将最后处理…