前段时刻刚做完内购,然后做了一下整理:
内购产品类型
类型 | 阐明 | 举例 |
---|---|---|
耗费型项目 | 耗费性购买项目会随着运用逐步耗尽,并能够再次购买 | 比方:游戏里的宝石,抖音的抖币,王者的点劵(花了就没有了属于耗费型) |
非耗费型项目 | 永久性的购买项目可一次性购买,而且不会到期,例如相片滤镜或化妆品。 | 比方:永久会员,游戏角色时装,宠物等(买了就不会消失永久拥有的) |
非续期订阅 | 用户能够购买服务或内容的限时拜访权限,例如游戏内内容的季票。此类订阅不会主动续期,因此若用户希望保存拜访权限,则需求在订阅完毕后购买新的订阅。 | 比方:1个月会员,1年会员(有时刻期效的,过了这个时刻就没有了) |
主动续期订阅 | 订阅是答应用户在固定时刻段内购买动态内容的产品。除非用户挑选撤销,不然此类订阅会主动续期。 | 比方:哔哩哔哩的大会员(会按周期[一年,一个月,…]主动续费的) |
订阅群组 | 一切订阅有必要属于某个群组。用户一次只能订阅一个群组内的一个项目,但能够更改为同一群组内的另一个订阅项目。 |
一、预备内购
1、银行账户信息
到App Store Connect后台填写银行账户信息,填写报税表等 appstoreconnect.apple.com/,参阅填写银行卡信息
留意:银行卡信息等需求填写中文的拼音,不能填写中文
需求等候协议两项都是『有用』状况,信息填完大约1天内/1天左右就会更新状况。『有用』状况才干正常测验购买,不然客户端获取的产品都是空,无法进行后续操作。
2、内购产品介绍、创立
产品类型主要有:耗费型项目、非耗费型项目、主动续期订阅、非续期订阅
留意:创立产品前需求清楚了解产品各个类型,请看【内购产品类型】;
添加内购产品的时分,【参阅名称】是能够修正的,【产品ID】是仅有的,创立了之后即使删去这个产品,这个ID也无法重复运用了,推荐运用产品ID命名:包名+类型+产品编号,比方: com.xxx.xxx.Vip.ABC123
3.1、耗费型、非耗费型产品创立
2.2、订阅型产品创立
2.2.1、主动续期订阅
一个群组内的产品,支撑晋级降级订阅,同组内一起只会订阅一个产品。
比方说,组内有3个产品,1个月会员,6个月会员,1年会员,用户能够在这个组内升降级修正订阅产品,最终扣费以最后一个订阅的扣费。
N个组内的产品,能够一起订阅N个产品。
订阅群组 | 组内产品 | 用户订阅的 |
---|---|---|
组A | 产品A,产品B,产品C | 订阅A/B/C |
组B | 产品E,产品F,产品G | 订阅E/F/G |
用户一共订阅 | A/B/C 和 E/F/G 【一起订阅了两个产品】 |
2.2.2、主动订阅群组产品升降级阐明
在同一群组创立产品的时分,需求留意升降级跨级问题,从提供最高级别服务的选项开端,按降序排列你的订阅。
产品等级升降 | 阐明 |
---|---|
晋级 | 从较低等级的订阅切换到较高等级的订阅时,用户从前的 App 内购买项目金额将会按比例退还到原始付款方法。新的 App 内购买项目将收取完好价格并当即收效,用户的续期日期也随之更改为晋级日期。 |
降级 | 用户从较高等级的订阅切换到较低等级的订阅时,在下一个续期日期,会以新费率向用户收费。 |
跨级 | 在相同等级的订阅间进行切换时,假如 App 内购买项目的时限相同,那么用户从前的 App 内购买项目金额将会按比例退还到原始付款方法。新的 App 内购买项目将收取完好价格并当即收效,用户的续期日期也随之更改为晋级日期。假如 App 内购买项目的时限不同,那么跨级将会在用户的下一个续期日期收效。 |
2.2.3、非主动续期订阅
2.2.4、产品详细信息修正
3、装备沙箱测验账号
沙盒环境阐明:
1、有必要是真实设备才干测验内购,模拟器不可;
2、假如设备装置的是adhoc包,xcode直接run的包,测验时需求登录沙盒测验员账号进行购买,审阅人员审阅时分的付出也都是运用沙盒环境(此处关系到验签)。
3、TestFlight里装置的包,也是运用沙盒环境,可是运用真实的Apple ID进行购买,不会扣钱。
3.1、添加沙盒人员
3.2、清除购买前史,删去沙盒人员
3.3、修正主动续期测验时刻
4、装备服务器告诉地址
装备好服务端与苹果交互的回调地址,才干完成付出流程服务端与苹果的通讯,比方:购买验单回调,订阅续订回调,退款回调。
二、开端购买
1、非订阅型购买流程概览
2、主动续期型购买流程概览
留意:初次订阅,客户端会上传receipt data给服务端,进行验单;一起Apple也会有一个订阅成功的回调到服务端,成功处理一个即可,不要重复赋予权益。
3、订单凭据验签
订单凭据验签成功与否,决议此次购买的结果。
留意:为了保证不影响审阅,服务器验签需求运用两层验证。优先验证生产环境,回来错误代码21007后,进行测验环境验签。
3.1、Apple验签地址
沙盒测验:sandbox.itunes.apple.com/verifyRecei…
正式:buy.itunes.apple.com/verifyRecei…
3.2、凭据receipt data参数预览
Apple官方文档的参数解说
参数 | 阐明 | 补白 |
---|---|---|
environment | 付出环境:沙盒、非沙盒 | |
transaction_id | 买卖凭据ID | |
original_transaction_id | 原始买卖凭据ID | |
quantity | 购买数量 | |
product_id | 产品ID | |
is_trial_period | 是否享用免费试用 | |
is_in_intro_offer_period | 是否享用首单优惠 | 订阅型产品有的 |
auto_renew_status | 订阅状况 1:续订中 0:封闭续期订阅 | auto_renew_status=1 而且 is_in_billing_retry_period=1, 此时用户的状况并不能标记为已封闭, 而应该是扣费失败,仍在尝试订阅 |
is_in_billing_retry_period | 主动续期订阅状况 1:尝试订阅 0:停止尝试订阅 | |
latest_receipt_info | 主动续费订阅的一切收据凭据 | |
pending_renewal_info | 续订订单的状况信息 | |
cancellation_date | 退款的订单凭据 | 撤销的应用内购买将无限期保存在收据中。仅适用于非耗费性产品、主动续订订阅、非续订订阅或免费订阅的退款。 |
cancellation_reason | 退款的原因 1:应用程序中的实践或感知问题客户撤销了买卖 0:买卖因其他原因被撤销,意外购买等 |
3.3、验签错误码
错误码 | 阐明 | 补白 |
---|---|---|
21000 | App Store无法读取你提供的JSON数据 | |
21002 | 收据数据不符合格局 | |
21003 | 收据无法被验证 | |
21004 | 你提供的共享密钥和账户的共享密钥不共同 | |
21005 | 收据服务器当时不可用 | |
21006 | 收据是有用的,但订阅服务现已过期。当收到这个信息时,解码后的收据信息也包含在回来内容中 | |
21007 | 收据信息是测验用(sandbox),但却被发送到产品环境中验证 | |
21008 | 收据信息是产品环境中运用,但却被发送到测验环境中验证 | |
21010 | 此收据无法授权。 | |
21100-21199 | 内部数据拜访错误 |
一个receipt data示例,购买了非续期订阅型和续期订阅型产品:
{
environment = Sandbox,
receipt = {
receipt_type = ProductionSandbox,
app_item_id = 0,
receipt_creation_date = 2023-02-21 08:36:06 Etc/GMT,
bundle_id = bundle_id,
original_purchase_date = 2013-08-01 07:00:00 Etc/GMT,
in_app = [
{
quantity = 1,
purchase_date_ms = 1670220887000,
transaction_id = 2000000218924423, // 此次买卖订单ID
is_trial_period = false, // 是否享用免费试用
original_transaction_id = 2000000218924423, // 原始买卖订单ID
purchase_date = 2022-12-05 06:14:47 Etc/GMT,
product_id = product_id1, // 产品ID
original_purchase_date_pst = 2022-12-04 22:14:47 America/Los_Angeles,
in_app_ownership_type = PURCHASED,
original_purchase_date_ms = 1670220887000,
purchase_date_pst = 2022-12-04 22:14:47 America/Los_Angeles,
original_purchase_date = 2022-12-05 06:14:47 Etc/GMT
},
{
quantity = 1,
purchase_date_ms = 1671013613000,
transaction_id = 2000000227571624,
is_trial_period = false,
original_transaction_id = 2000000227571624,
purchase_date = 2022-12-14 10:26:53 Etc/GMT,
product_id = product_id2,
original_purchase_date_pst = 2022-12-14 02:26:53 America/Los_Angeles,
in_app_ownership_type = PURCHASED,
original_purchase_date_ms = 1671013613000,
purchase_date_pst = 2022-12-14 02:26:53 America/Los_Angeles,
original_purchase_date = 2022-12-14 10:26:53 Etc/GMT
},
{
quantity = 1,
purchase_date_ms = 1670228982000,
transaction_id = 2000000219098229,
is_trial_period = false,
original_transaction_id = 2000000219098229,
purchase_date = 2022-12-05 08:29:42 Etc/GMT,
product_id = product_id3,
original_purchase_date_pst = 2022-12-05 00:29:42 America/Los_Angeles,
in_app_ownership_type = PURCHASED,
original_purchase_date_ms = 1670228982000,
purchase_date_pst = 2022-12-05 00:29:42 America/Los_Angeles,
original_purchase_date = 2022-12-05 08:29:42 Etc/GMT
},
{
quantity = 1,
purchase_date_ms = 1676968560000,
expires_date = 2023-02-21 08:39:00 Etc/GMT,
expires_date_pst = 2023-02-21 00:39:00 America/Los_Angeles,
is_in_intro_offer_period = false, // 是否享用首单优惠
transaction_id = 2000000282464020,
is_trial_period = false,
original_transaction_id = 2000000282464020,
purchase_date = 2023-02-21 08:36:00 Etc/GMT,
product_id = product_id4,
original_purchase_date_pst = 2023-02-21 00:36:05 America/Los_Angeles,
in_app_ownership_type = PURCHASED,
original_purchase_date_ms = 1676968565000,
web_order_line_item_id = 2000000021347684,
expires_date_ms = 1676968740000,
purchase_date_pst = 2023-02-21 00:36:00 America/Los_Angeles,
original_purchase_date = 2023-02-21 08:36:05 Etc/GMT
}
],
adam_id = 0,
receipt_creation_date_pst = 2023-02-21 00:36:06 America/Los_Angeles,
request_date = 2023-02-21 08:36:10 Etc/GMT,
request_date_pst = 2023-02-21 00:36:10 America/Los_Angeles,
version_external_identifier = 0,
request_date_ms = 1676968570311,
original_purchase_date_pst = 2013-08-01 00:00:00 America/Los_Angeles,
application_version = 17,
original_purchase_date_ms = 1375340400000,
receipt_creation_date_ms = 1676968566000,
original_application_version = 1.0,
download_id = 0
},
pending_renewal_info = [ // 续订订单的状况信息
{
product_id = product_id4, // 续订的产品ID [留意:用户在订阅周期内切换产品,此ID是新一期续订的产品ID]
original_transaction_id = 2000000282464020, // 初次创立续订订单的ID
auto_renew_product_id = product_id4,
auto_renew_status = 1 // 1:续订中 0:封闭续期订阅 [留意:auto_renew_status=1 而且 is_in_billing_retry_period=1, 此时用户的状况并不能标记为已封闭, 而应该是扣费失败]
}
],
status = 0,
latest_receipt_info = [ // 主动续费订阅的一切收据 [留意:退款后会呈现cancellation_date和cancellation_reason字段, 未退款则没有这两个字段]
{
quantity = 1,
purchase_date_ms = 1670221172000,
transaction_id = 2000000218930621,
is_trial_period = false,
original_transaction_id = 2000000218930621,
purchase_date = 2022-12-05 06:19:32 Etc/GMT,
product_id = product_id1,
original_purchase_date_pst = 2022-12-04 22:19:32 America/Los_Angeles,
in_app_ownership_type = PURCHASED,
original_purchase_date_ms = 1670221172000,
purchase_date_pst = 2022-12-04 22:19:32 America/Los_Angeles,
original_purchase_date = 2022-12-05 06:19:32 Etc/GMT
},
{
quantity = 1,
purchase_date_ms = 1676968560000,
expires_date = 2023-02-21 08:39:00 Etc/GMT,
expires_date_pst = 2023-02-21 00:39:00 America/Los_Angeles,
is_in_intro_offer_period = false,
transaction_id = 2000000282464020,
is_trial_period = false,
original_transaction_id = 2000000282464020,
purchase_date = 2023-02-21 08:36:00 Etc/GMT,
product_id = product_id4,
original_purchase_date_pst = 2023-02-21 00:36:05 America/Los_Angeles,
in_app_ownership_type = PURCHASED,
subscription_group_identifier = 21218554,
original_purchase_date_ms = 1676968565000,
web_order_line_item_id = 2000000021347684,
expires_date_ms = 1676968740000,
purchase_date_pst = 2023-02-21 00:36:00 America/Los_Angeles,
original_purchase_date = 2023-02-21 08:36:05 Etc/GMT
}
],
latest_receipt = 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
}
4、康复购买
留意:康复购买是针对【非耗费型】【主动续期订阅型】产品的。在客户端获取可康复购买产品列表的时分,会回来该Apple ID购买过的【非耗费型】【主动续期订阅型】产品。其他类型产品,需求自己保护用户新旧设备、多个设备的权益同步。
适用场景:假如用户在iPhone A购买了永久会员,然后换了新手机iPhone B,两台设备登录了同一个Apple ID,那么他能够在iPhone B运用康复购买,把购买过的永久会员同步到新设备运用,即需求完成两个设备都能够运用永久会员功用。
4.1、有账号系统的App
康复的购买产品与账号绑定,只要登录这个账号的设备都能够享用购买过的服务。可由App业务决议是否在一端登录账号后,其他端被逼下线,比方某个游戏的账号;也可像一些工具类行产品限制答应在线设备个数。
4.2、无账号系统的App
无账号系统的App,能够在N个登录了购买过产品的Apple ID设备,点击运用康复购买之后,享用相同的产品。
无账号系统的App,建议创立【主动续期订阅】【非耗费型】产品,运用苹果自己的康复购买来保护用户购买过的权益。
5、产品优惠促销(免费试用)
优惠促销是只支撑续期订阅的产品,每个订阅群组只能享用一个推介促销优惠,推介促销优惠适用于运转 iOS 10、Apple TVOS 10 和 macOS 10.12.6 及更高版别的用户。
5.1、促销优惠类型
类型 | 适用人群 | 公司SDK是否已支撑 | 收费方法 | 补白 |
---|---|---|---|---|
订阅价格 | 现已订阅或之前订阅过该群组产品的用户 | 支撑 | 订阅时按订阅价格收费 | 已接收过推介促销优惠的,仍可享用订阅价格优惠兼容版别iOS12.2+ |
推介促销优惠 | 未享用过该订阅群组当时促销的用户 | 支撑 | 促销期内,按促销价收费,促销期过后,按原价收费。 | 兼容版别iOS10+ |
优惠代码 | 一切用户 | 不支撑 | ||
促销优惠 | 一切用户 | 支撑 |
5.2、优惠付出类型
付出类型 | 阐明 | 示例 |
---|---|---|
随用随付 | 用户将按选定时限的每个结算周期付出扣头价格 | 例如,订阅的规范价格为9.99美元,扣头价为前3个月每月1.99美元)。可设定以下时限:。1周订阅,1至12周。1个月订阅,1至12个月。2个月订阅,2、4、6、8、10和12个月。3个月订阅,3、6、9和12个月。6个月订阅,6和12个月。1年订阅,1年 |
提前付出 | 用户将一次性付出选定时限的扣头价格 | 例如,订阅的规范价格为9.99美元,扣头价为前2个月199美元)。可设定以下时限:1个月、2个月、3个月、6个月、1年 |
免费 | 顾客在选定的时限内免费 | 例如:免费试用时限能够是3天,1周,2 周、1个月、2个月、3个月、6个月或1年。一个月的免费试用在28到31天不等。 |
5.3、添加促销优惠
促销优惠产品购买视图,有免费试用等字样,并注明初次扣费日期;
5.4、促销优惠测验
沙盒账号:需求一个没有购买过当时优惠促销产品的沙盒测验账号,或许购买过的账号需求去手机【设置】-【App Store】- 沙盒账号【办理】-【重设优惠资格】
6、退款
退款请求地址,退款请求可请求半年内的付费订单
用户能够就现已购买的项目建议退款,咱们需求在 appstoreconnect.apple.com/ 后台,App信息处,装备退款的回调地址,回调处理逻辑由后端人员接入
『耗费型』『非耗费型』『非续期订阅型』退款:
Apple官方退款文档[后端技术人员接入]
『订阅型』退款:
Apple官方退款文档[后端技术人员接入]
三、上架
1、初次添加内购上架
初次添加内购产品,内购产品需求勾选和包一起提交审阅
2、非初次添加内购上架
非初次添加内购产品,能够在【订阅】【App内购买项目】中创立完产品,提交审阅
3、内购拒审反馈
①、提审包含【非耗费型】产品的,有必要在购买页面上展现『康复购买』按钮,并完成其功用。
②、Guideline 2.1
提审时,只要有非续期订阅型产品(不支撑康复购买,UI界面上没有康复购买功用的)可添加一段关于这些产品,怎么办理、康复这些用户购买的权益。不然容易收到Apple的审阅邮件反馈:
③、在Apple产品创立的后台,产品截图上的信息,价格,购买的权益,有必要与App内展现的共同。不要后台装备了价格下发,让Apple审阅人员看到价格都不相同,不可。
④、Guideline 3.1.2
提审时产品里有订阅型产品、促销优惠:
1、需求标示促销内容,和促销期过后怎么收费,比方:当用户选到某个促销产品时,需求展现案牍:前3天免费试用,试用完毕后续费订阅99元/年,可随时撤销订阅。确保优惠按钮隶属案牍里有必要有优惠完毕后主动扣费规范。
比方:
2、在页面上展现隐私协议、会员协议、主动续费协议,协议内和应用描绘案牍里需求包含(也能够参阅腾讯、爱奇艺那些App):
主动订阅服务阐明
(1)订阅服务:xxxxVIP接连包月(1个月)、xxxx VIP接连包年(12个月)
(2)订阅价格:xxxxVIP接连包月(1个月)为每月19.8元,接连包年产品为30元/年,详细价格会依据不同期活动优惠调整,以应用内实践展现为准
(3)付款:用户确认购买并付款后计入iTunes账户
(4)主动续费:苹果iTunes账户会在到期前24小时内扣费,扣费成功后订阅周期顺延一个订阅周期
(5)封闭服务:您能够在苹果手机“设置”–>进入“iTunesStore与AppStore”–>点击“AppleID”挑选”检查AppleID”,进入”账户设置”页面,点击“订阅”,办理主动订阅服务,如需撤销,每个计费周期完毕前24小时封闭即可,到期前24小时内则不再扣费
8、资料参阅
苹果官方文档-内购