Apple 如何通知 iOS 应用程序内购买 (IAP) 退款?

2024-05-09

我在我的应用程序中成功实现了 Apple iOS IAP,并在沙箱中进行了测试。效果很好。

我担心用户可能会通过 IAP 购买商品,将其下载到我的应用程序中,然后向 Apple 投诉并获得退款。没有明显的方式将退款报告给我的应用程序。它们是否只是被排除在我在“恢复”操作期间收到的产品列表之外?当退款发生时,是否有一些未记录的交易类型会异步显示在我的 SKPaymentTransactionObserver 中?

现在,我假设我需要在恢复之前删除用户的 IAP 交易,并且退款的任何内容都不会出现在恢复的交易列表中。这是正确的做法吗?有什么方法可以在沙箱中测试这个吗?

有谁在生产环境中见过退款并可以解释它们是如何工作的吗?


2020 年 6 月 24 日更新:

在 WWDC 2020 上,引入了一项新通知,通知您退款:https://developer.apple.com/documentation/storekit/in-app_purchase/handling_refund_notifications https://developer.apple.com/documentation/storekit/in-app_purchase/handling_refund_notifications


原答案:

今天(2018 年 12 月 6 日)我收到了 Apple 开发者关系部门的回复:

你好约翰内斯,

针对您的问题,遗憾的是,没有支持的方法来检测用户是否已联系 Apple Care 并收到了消耗品应用内购买的退款。我可以向您推荐的唯一选项是提交 API 增强请求,以便应用程序可以使用 API 来检测是否向应用内购买的用户提供了退款。目前,此支持实际上仅适用于提供自动续订订阅应用内购买的应用程序。

您可以使用 Apple 开发者错误报告网页提交增强请求 - http//bugreport.apple.com

由于这是一个增强请求类型问题,我将安排将此事件从您的帐户中扣除,以便在将来的问题中使用。

因此,我们有它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apple 如何通知 iOS 应用程序内购买 (IAP) 退款? 的相关文章

随机推荐

  • 在 Python 中对数据进行求和

    Given that the fitting function is of type 我打算将这样的函数拟合到我拥有的实验数据 x y f x 中 但后来我有一些疑问 当涉及求和时 如何定义拟合函数 一旦定义了函数 即def func re
  • 使用 MongoDB docker 镜像停止虚拟机而不丢失数据

    我已经在 AWS EC2 上的虚拟机中安装了官方的 MongoDB docker 映像 并且数据库上已经有数据 如果我停止虚拟机 以节省过夜费用 我会丢失数据库中包含的所有数据吗 在这些情况下我怎样才能让它持久 有多种选择可以实现此目的 但
  • MapStruct:如何将输入对象传递给表达式?

    在 MapStruct 版本 1 1 0 Final 中 这是可能的 Mappings Mapping target transaction process details expression java MappingHelper map
  • Meteor js:使Session对象部分持久化

    在我的流星应用程序中 我使用会话来存储有关用户活动的临时信息 我想使用 amplify js 将此信息的某些部分保留到浏览器 但不是全部 我想要一种拥有 临时 会话密钥和 持久 会话密钥的方法 例如我可以打电话 Session set pe
  • 使用 spring webclient 对 http 请求进行可读的调试日志记录

    我正在使用 Spring 反应式 WebClient 向 http 服务器发送请求 为了查看正在发送的底层请求和响应 我启用了调试日志记录reactor ipc netty包裹 可以正常查看传出请求的标头 虽然我通过 http 发送和接收纯
  • Qt GUI 编程设计

    我正在尝试创建一个 GUI 应用程序 主窗口 一个QMainWindow 包含 9 个固定大小的标签以及主窗口的大小 我尝试在没有 Qt GUI Designer 的情况下以编程方式制作它 该项目构建时没有错误 但我看不到主窗口上显示的任何
  • 要在进程中运行 dex,Gradle 守护进程需要更大的堆。目前有 910 MB

    实际上主要错误是 java exe完成非零退出值 1 首先我告诉你安装 studio 后遇到的每个问题 三天前 我刚刚安装了 android studio 并创建了新项目 1 首先它抛出错误 插件太旧 请更新到更新的版本 在谷歌上搜索后我改
  • 调整 QML 图像显示尺寸

    我有一个带有嵌套的 QML 窗口RowLayout 在内排我有两个图像 来源 png这些图像的文件 故意 相当大 当我尝试设置height这些图像上的属性使它们变小 但它们仍然被画得很大 Desired Appearance Actual
  • 使用模板时什么时候应该使用关键字“typename”[重复]

    这个问题在这里已经有答案了 我最近一直在做一个小项目 但我无法弄清楚一些事情 我得到了一个 h 文件 其中包含一个使用类型名模板的类 那个班级里面有一个私人班级 template
  • WebAPI 请求格式的异常

    在项目中使用RC版本的MVC4 WebAPI 我在API服务器端不断遇到以下错误 System FormatException The format of value application json charset utf 8 is in
  • 在 Intel 机器上构建 Apple Silicon 二进制文件

    如何在 macOS 11 Intel 上编译 C 项目以在 Silicon 上运行 我当前的构建脚本很简单 configure make sudo make install 我尝试过使用 host and target标志与aarch64
  • VC9 和 VC8 库兼容性

    原来的问题是在那里问的 http www ogre3d org phpBB2 viewtopic php t 44832 http www ogre3d org phpBB2 viewtopic php t 44832 有人问 虽然我想在
  • H2 和 PostgreSQL 兼容模式限制

    我使用 H2 数据库作为内存数据库进行测试 其中 PostgreSQL 在生产中使用 除了两者之间存在一些细微差别之外 此设置工作正常 我现在关心的一个问题是PostgreSQL 中标识符的长度限制为 64 https www postgr
  • eclipse juno 打开时出错

    在安装 Eclipse 并正常工作一年多后 我今天打开 Eclipse Juno 并在打开工作区时收到一条错误消息 我使用的是 Windows 8 64 位 Java 64 位和 Eclipse 64 位 此后我尝试重新安装 Java 和
  • Selenium webdriver :列表不是通用的;它不能使用参数 `` 类型进行参数化

    我试图将链接存储在列表中 请按照以下代码操作 public class frameswitch public static void main String args System setProperty webdriver gecko d
  • 使用 .NET 在 Windows 中创建弹出式“烤面包机”通知

    我正在使用 NET 并创建一个桌面应用程序 服务 当触发某些事件时 它将在桌面的一角显示通知 我不想使用常规的消息框 b c 那样会造成太大的干扰 我希望通知滑入视图 然后在几秒钟后淡出 我正在考虑一种类似于 Outlook 收到新邮件时发
  • 元素“system.webServer”具有无效的子元素“httpPlatform”

    我正在学习 Shawn Wildermuth 的课程here https app pluralsight com library courses aspdotnet 5 ef7 bootstrap angular web app table
  • 将大数据集加载到 GridView 中的最快方法是什么?

    我有一个数据源 其中包含 1 4 数百万行 并且还在不断增长 我们让用户添加过滤器来减少调用的数据 但您仍然一次查看 43 000 到 100 000 行 在任何人说之前 无论如何没有人可以查看那么多行 它们将被导出到 Excel 工作簿中
  • 模板特化与函数重载

    问题很简单 之间有什么区别 template
  • Apple 如何通知 iOS 应用程序内购买 (IAP) 退款?

    我在我的应用程序中成功实现了 Apple iOS IAP 并在沙箱中进行了测试 效果很好 我担心用户可能会通过 IAP 购买商品 将其下载到我的应用程序中 然后向 Apple 投诉并获得退款 没有明显的方式将退款报告给我的应用程序 它们是否