当前位置:网站首页>遇到恶意退款不用怕,App 内购买项目的退款通知现已可用
遇到恶意退款不用怕,App 内购买项目的退款通知现已可用
2022-08-09 10:36:00 【华为云】
前言
今年 WWDC 2020 苹果全球开发者大会,苹果宣布所有的内购项类型,当用户在应用内退款成功时,App Store Server 会发送实时的通知给开发者服务器告知有退款,开发者可通过处理该消息来更新用户的账户信息。
新的退款流程
- 用户购买内购商品
- 用户申请退款
- 苹果发起退款
- Apple Store Server 发送退款通知
- 用户收到退款成功的通知
- 开发者收到退款订单通知
配置用于接收 App Store 服务器通知的网址(URL)
若要接收 App Store 发送的服务器通知,您必须在 App Store Connect 中提供一个链接至您服务器的网址(URL)。
- 从“我的 App”中,选择您的 App。
- 在侧边栏的“综合”下方,点按“App 信息”。
- 向下滚动至“综合信息”,然后前往 App Store 服务器通知网址(URL)部分。
- 输入您的 App Store 服务器通知网址(URL),以接收订阅状态更新。
- 点按“存储”。
配置的回调链接必须满足条件:
- 满足应用传输安全要求(使用 https)
- URL 最长 255 字符
处理退款通知
您的服务器负责解析来自 App Store Server 的所有通知。对于 REFUND 通知,从响应中标识特定的交易,产品ID 和相关日期:
- 苹果返回的通知内容为 JSON 对象数据,通过检查 purchase_date 以选择最新交易,从而在 unified_receipt.latest_receipt_info 中找到 该 product_id 的最新交易。
在 unified_receipt 里的 latest_receipt_info 是一个数组,其中包含的最近的100次应用内购买交易:
退款字段说明:
- App Store 发出的退款日期在交易的 cancel_date_ms 字段中可以获取到。
响应退款通知
您的服务器应发送一个 HTTP 的状态码,以指明服务器到服务器的通知发布是否成功:
- 如果发送成功,则发送 HTTP 状态码 200。你的服务器不需要返回任何数据。
- 如果发送失败,请发送 HTTP 状态码 50x 或 40x 以使 App Store 重试该通知。 App Store 在一段时间内尝试重试该通知,但在连续失败尝试(3次)后最终停止。
注意事项:
- 当您使用包含退款交易的收据 transaction_data 向苹果服务器校验 verifyReceipt 时,JSON响应中不存在退款交易,自动续订订阅除外。
- 收到 REFUND 通知时,您有责任为每笔退款交易存储,监控并采取适当的措施。(因为苹果只通知一次,暂时无法在苹果后台查询退款的订单。也不能由开发者主动去苹果服务器查询)
对退款用户的处理
苹果给了一个示例,用户退款成功后,在 App 中给用户提示退款的时间和说明,可以重新购买,或者联系客服!
结语
其实退款通知的流程并不复杂,但是为什么苹果在今年才将它推出呢!因为根据 App Store 中国区的退款政策,一个 AppleID 有一次无条件的退款机会,一年有俩次有条件的退款,退款的时间最快也会在 48 小时内完成,但也有遇到 15 个工作日退还的。正是因为这些“条件”,导致了退款的滥用,比如“游戏代充工作室”,严重损害了开发者和苹果公司的利益。虽然 Apple 一直是想保护用户隐私,在它规则下实现退款自由,但当恶意退款滥用时,不得不提供了退款通知的接口。
边栏推荐
猜你喜欢
BERT预训练模型(Bidirectional Encoder Representations from Transformers)-原理详解
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
3D printed this DuPont cable management artifact, and the desktop is no longer messy
浅析JWT安全问题
相伴成长,彼此成就 用友U9 cloud做好制造业数智化升级的同路人
Battery modeling, analysis and optimization (Matlab code implementation)
机器学习-逻辑回归(logistics regression)
史上最小白之《Word2vec》详解
Qt 国际化翻译
随机推荐
【MySQL】mysql因为字符集导致left join出现Using join buffer (Block Nested Loop)
踩坑scrollIntoView
The common problems in laptops, continuously updated
1003 我要通过! (20 分)
使用cpolar远程连接群晖NAS(创建临时链接)
antd的Table列选择、列拓展
【Linux】宝塔面板设置MySQL慢查询日志,未走索引日志
Attentional Feature Fusion
学长告诉我,大厂MySQL都是通过SSH连接的
学习NET-SNMP之二-----------VisualStudio编译Net-SNMP
深度学习--神经网络(基础讲解)
Unix System Programming Chapter 15 15.2 Pipes
The GNU Privacy Guard
xmms的均衡器试验成功 音效相当不错 比rockbox可能还要好
hover内部指定子类的样式
Database connection operations for MySQL and MyEclipse
Win7 远程桌面限制IP
上传张最近做的E2用的xmms的界面的截图
数据存储:对dataframe类,使用to_csv()将中文数据写入csv文件
[相机配置] 海康相机丢包配置环境