IOS内购详解

介绍

最近开发的一款APP上架被驳回了,理由是:

 

上架的APP是培训类,里面金牌视频课程需要购买,Android端使用支付宝,微信支付。

苹果规定

数字化内容、App功能以及服务等,需要使用内购

真实世界中的服务(如一个俱乐部的会员资格)或物品(食物、衣物等)都不能使用内购,可以使用Apple pay、微信支付等

用几句话说明白IOS内购:

1、购买的商品是虚拟的

2、这虚拟的商品要发布到苹果服务器

3、ios app 支付的时候,选择发布到苹果服务器的产品,付款,完成交易,苹果收30%。

4、不用开发虚拟币,不用个人钱包功能

5、服务器可开发,可不做开发,但是安全角度要开发。

 

开发方式

IOS 内购支付两种模式:
内置模式

服务器模式

内置模式的流程:


app从app store 获取产品信息

用户选择需要购买的产品

app发送支付请求到app store

app store 处理支付请求,并返回transaction信息

app将购买的内容展示给用户

服务器模式的流程:


app从服务器获取产品标识列表

app从app store 获取产品信息

用户选择需要购买的产品

app 发送 支付请求到app store

app store 处理支付请求,返回transaction信息

app 将transaction receipt 发送到服务器

服务器收到收据后发送到app stroe验证收据的有效性

app store 返回收据的验证结果

根据app store 返回的结果决定用户是否购买成功

上述两种模式的不同之处主要在于:

交易的收据验证,内建模式没有专门去验证交易收据,而服务器模式会使用独立的服务器去验证交易收据。内建模式简单快捷,但容易被破解。服务器模式流程相对复杂,但相对安全。

 

具体的开发参考下面的文章:

iOS 支付 --苹果内购解读


java服务器端开发处理流程

 

配置,发布,IOS端开发内购流程(手把手图文教程)

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汇编中的函数调用与递归

栈帧的结构 倘若我们要想搞清楚过程的实现,就必须先知道栈帧的结构是如何构成的。栈帧其实可以认为是程序栈的一段,而程序栈又是存储器的一段,因此栈帧说到底还是存储器的一段。那么既然是一段,肯定有两个端点,这个不需…

php 相亲 段子,精彩的男女幽默段子

精彩的男女幽默段子。撒嬌老婆洗完澡對老公撒嬌說:老公,抱我到床上去吧。老公看了看老婆,冷冷的回答道:我還是把床搬過來吧!所以,撒嬌還是要看體型!單身老公說:老婆,你不…

Redmine数据库备份及搬家

Bitnami Redmine的备份分2种方式: 1.导出数据库 2.整个目录搬家 不管是哪种都想停掉服务,redmine相关的服务有以下5个: redmineApache   redmineMySQL   redmineSubversion   redmineThin1   redmineThin2 可以打开windows服务控制面…

且看BCH开启的“信用本位”时代

​​​ 且看BCH开启的“信用本位”时代 比特币向来被称为“金本位”的互联网实验,由于中本聪先生的天才发明,POW机制给予了比特币与黄金同样的生产模式。所以,时至今日,BCE依然自称为“数字黄金”。 只可惜,“一叶障目…

oracle设置临时表空间,Oracle临时表空间查看、添加临时表空间数据文件、修改默认临时表空间 方法!...

--查表空间使用率情况(含临时表空间)SELECT d.tablespace_name "Name", d.status "Status",TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), 99,999,990.90) "Size (M)",TO_CHAR (NVL (a.BYTES - NVL (f.BYTES, 0), 0) / 1024 / 1024,99999999.99) US…

Redmine项目管理工具安装

Redmine免费开源的项目管理工具 下载 一键安装工具 https://bitnami.com/stack/redmine/installer 安装 Redmine一键安装工具集成了php服务,mysql服务。尽管安装就好。 安装完成后,在开始菜单,找到-----Bitnami Redmine Stack--------Bi…

Oracle创建假脱机文件,oracle – 在sqlplus中假脱机csv文件时的标头格式

我需要使用sqlplus从Oracle中的表中调整csv.以下是所需的格式:"HOST_SITE_TX_ID","SITE_ID","SITETX_TX_ID","SITETX_HELP_ID""664436565","16","2195301","0""664700792&qu…

方便微信公众号等手机网页调试插件eruda和vConsole

原文地址&#xff1a;https://blog.csdn.net/qq_39234840/article/details/80951710 ---------------------------------------------------------- 调试插件一&#xff1a;eruda&#xff08;推荐&#xff0c;因为比vConsole功能多&#xff09; <script src"//cdn.js…

HDU 3530Subsequence(单调队列)

题意 题目链接 给出$n$个数&#xff0c;找出最长的区间&#xff0c;使得区间中最大数$-$最小数 $> m$ 且$< k$ Sol 考虑维护两个单调队列。 一个维护$1 - i$的最大值&#xff0c;一个维护$1 - i$的最小值。 至于两个限制条件。 $<k$可以通过调整队首来满足 $>a$可以…

oracle权限培训,Java培训-ORACLE数据库学习【2】用户权限

查询用户拥有的权限&#xff1a;1.查看所有用户&#xff1a;select *from dba_users;select *from all_users;select *from user_users; 2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限)&#xff1a;select *from dba_sys_privs;select *from user_sys_privs; 3.查看…

linux 中文件夹的文件按照时间倒序或者升序排列

1&#xff0c;按照时间升序 命令:ls -lrt 详细解释: -l use a long listing format 以长列表方式显示&#xff08;详细信息方式&#xff09; -t sort by modification time 按修改时间排序&#xff08;最新的在最前面&#xff09; -r reverse order while sorti…

PHP中关于时间(戳)、时区、本地时间、UTC时间等的梳理

PHP中关于时间&#xff08;戳&#xff09;、时区、本地时间、UTC时间等的梳理 在PHP开发中&#xff0c;我们经常会在时间问题上被搞糊涂&#xff0c;比如我们希望显示一个北京时间&#xff0c;但是当我们使用date函数进行输出时&#xff0c;却发现少了8个小时。几乎所有的php猿…

WebServiceStudio.exe测试webservice接口工具

WebServiceStudio.exe测试webservice接口工具 下载链接 https://pan.baidu.com/s/1gf8ajS3 打开工具WebServiceStudio&#xff0c;如下填写地址&#xff0c;点击【Get】按钮 会显示出需要传参的地方&#xff0c;在value中填写xml参数 输入完value值后&#xff0c;点击【Invok…

oracle最大实例数,【ORA-16196】一个实例在其生命周期里最多只能装载和打开一个数据库...

如果使用“alter database open;”命令打开一个曾经被“alter database close;”命令关闭的数据库时&#xff0c;您将会收到如下的报错信息&#xff1a;"ORA-16196: database has been previously opened and closed"这个报错的原因是什么呢&#xff1f;原因是&#…

Navicat工具导出Mysql数据表结构到Excel文件中

原文链接&#xff1a;https://blog.csdn.net/zt15732625878/article/details/77978266 ------------------------------------------------------------------------ 前言 项目中数据库设计已经完成&#xff0c;现在到了代码实现的阶段&#xff0c;数据库中没有数据&#xff…

利用MAVEN的profile 实现打包环境的切换

乐哉码农产生问题的背景 由于在项目开发的时候&#xff0c;我们一般都是使用的本地库&#xff0c;数据库连接写的是本地的&#xff0c;如果我们将项目打成war的时候&#xff0c;里面的配置连接写的是我们本地的&#xff0c;当我们直接把war拷贝到服务器上面进行部署的时候&…

服务器oracle优化,oracle服务器配置及优化

1.在ORACLE中实现分布式快速存取和充实内存是很重要的。要不惜任何代价避免页面调度和交换﹐每次都必须把系统全局区(SGA)放到内存。将SGA放到内存中﹐在INIT.ORA中设置参数 PRE_PAGE_SGAPRE_PAGE_SGAYES2.回卷段的竟争会降低系统的性能。SELECT GETS,WAITS from V$ROLLSTAT;…

Android 常用的数据加密方式

前言 Android 很多场合需要使用到数据加密&#xff0c;比如&#xff1a;本地登录密码加密&#xff0c;网络传输数据加密&#xff0c;等。在android 中一般的加密方式有如下&#xff1a; 亦或加密AES加密RSA非对称加密当然还有其他的方式&#xff0c;这里暂且介绍以上三种加密算…

oracle可以注入吗,ORACLE 注入

1判断是什么数据库and exist(select * from dual)and exists(select * from user_tables)原理&#xff1a;dual表和user_tables表是oracle中的系统表返回正常&#xff0c;那么就可以肯定这是oracle。2查字段数order by 10-- //错误,列数小于10order by 3-- //正常,列数等于…

centos升级glibc(升级到 2.17版)

1、原先的系统glibc库的版本是2.12&#xff0c;需要升级到2.17版本。 下载地址&#xff1a; http://ftp.gnu.org/gnu/glibc/ http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 这里可以选择你所需要的版本。 2、安装部署 [rootkafzook1 common]# tar -xf glibc-2.17.tar.g…