问题标签 [auto-renewable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
66 浏览

objective-c - 错误代码=2“无法连接到 iTunes Store”{NSLocalizedDescription=无法连接到 iTunes Store} 仅适用于部分用户的生产环境

我已经在应用程序中实现了自动更新购买。但是,并非所有用户都能完成购买。他们的钱被扣除了,但交易进入失败状态并出现上述错误,或者有时在购买状态后甚至没有触发 updatedTransaction 方法。此外,如果我要求用户恢复购买,他们会收到“产品已购买”的警报。我现在对此感到非常沮丧,因为我什至无法复制这个问题。它在沙盒上完美运行,而且我尝试了真正的购买,它也在那里工作。我错过了什么?请帮我。

0 投票
1 回答
108 浏览

ios - 用于升级的 CANCEL 通知和 Apple 订阅通知的客户支持取消的负载差异

Apple 针对客户的订阅相关更改发送服务器到服务器通知。CANCEL通知在两种情况下发出:

  1. 用户致电客户服务中心取消订阅。
  2. 用户更改升级计划。

在情况 2 中,INTERACTIVE_RENEWAL通知后跟CANCEL

当收到 CANCEL 通知时,我们可能无法确定是针对情况 1 还是情况 2。

两种情况下触发 CANCEL 通知的有效负载字段值是否存在差异。

0 投票
1 回答
326 浏览

android - 自动续订订阅的价格变化

我们正在为两个平台(Android 和 iOS)开发一个应用程序,并实现应用内购买。在订阅价格更改后,需要在一定的自定义时间段内为老用户保留之前的订阅价格。有没有办法处理这样的情况?我们在本地数据库中维护了用户购买历史记录。

0 投票
1 回答
72 浏览

ios - iOS Auto Renewable Subscriptions veirfyReceipt 返回与设备不同的收据 base64

我正在尝试实施自动可更新订阅。我的应用程序可以在不同的设备(Android、Web)上使用,因此我需要实现状态轮询技术,以便在 App Store 设法续订过期订阅时确认我的服务器。收据正在我的服务器上进行验证,如此所述。在设备上进行的每笔交易中,我都会last_receipt_base64在收据验证过程中更新用户在数据库中输入的字段。

在每次状态轮询中,我都想更新last_receipt_base64andexpired_date字段,所以我将其last_receipt_base64发送到苹果的/verifyReceipt路由。但每次它都会在“latest_receipt”键下放置不同的收据(base64)。甚至,返回的(来自/verifyReceipt)收据库 64 的长度奇怪地比从设备发送的收据短得多(来自设备的 35,000 个字符的收据,从 的返回的 6000 个字符的收据/verifyReceipt)。这是为什么?

如果有变化但数据不断变化,我想在每个状态极上更新我的数据库中的条目!此外,来自设备的收据之间的极端长度差异/verifyReceipt让我担心有一天收据可能会被拒绝,如果用户长时间不登录 iOS 应用程序。无论如何,我有点困惑,文档不是很好......一些指导方针会有所帮助。

0 投票
0 回答
177 浏览

ios - 自动续订订阅续订和取消检测和收据刷新

我已经实现了一个本地收据验证例程来提取订阅的到期日期,并且它工作正常。但是我很难找出收据何时自动更新以及何时应该强制刷新。

我有几个关于此事的问题

1) SKPaymentQueue.default() 是否会被 Apple 外部更新?还是仅在本地设备上触发事务时才更新?

2) 我们能否确定在购买自动更新订阅产品后,收据会自动更新?我是否应该在确认购买后使用 SKReceiptRefreshRequest() 更新收据 paymentQueue(_ queue: SKPaymentQueue, updated Transactions transactions: [SKPaymentTransaction])

或者在购买完成后,我可以直接从收据中读取新的到期日期,而无需调用 SKReceiptRefreshRequest()?

请注意,我询问的是从 Apple 服务器刷新收据,而不是验证或读取过期日期。

3) 如果用户在续订日期取消订阅或付款方式失败,Apple 是否会自动更新应用收据,或者我应该在每次应用启动时使用 SKReceiptRefreshRequest() 请求刷新收据以检测订阅取消?

4) 当自动续订订阅成功续订时,Apple 是否会自动更新应用收据,或者我应该在每次应用开始获取新收据时使用 SKReceiptRefreshRequest() 请求刷新收据,以便在收到新收据时获取新的到期日期发生续约?

5) 使用 SKReceiptRefreshRequest() 请求刷新收据是否每次都要求用户提供他们的 App Store 凭据?

如您所见,我的主要困惑是何时需要强制 ReceiptRefresh 以及何时可以依靠 SKPaymentQueue 或 StoreKit 自动更新它。

欢迎任何见解。

0 投票
0 回答
839 浏览

macos - 应用因指南 3.1.2 被拒绝 - 业务 - 付款 - 订阅

由于自动续订订阅,我的 macOS 应用程序不断被拒绝。

这是苹果评论家对我说的:

指南 3.1.2 - 业务 - 付款 - 订阅

您的应用使用自动续订订阅,但不适合使用该服务。

下一步

要解决此问题,请将您的应用内购买产品更改为非续订订阅。

这对我来说毫无意义,因为同一应用程序的 iOS 版本已获得批准,并且自动续订订阅的数据完全相同。我已要求提供更多信息,但他们没有回答我。

任何人都可以帮助我或给我一些线索来了解可能发生的事情吗?

谢谢你的时间。

PS:该应用程序的两个版本(iOS 和 macOS)同时审核:p iOS 批准,macOS 拒绝。这是一款生产力应用程序,可免费试用 7 天。

0 投票
0 回答
263 浏览

android - 免费试用订阅

我有一个有 6 个订阅的应用程序(3 个按月计费(A、B、C)和 3 个按半年计费(X、Y、Z))。我已经配置了 3 天的免费试用,并且我没有在 google play 控制台上激活“激活订阅级免费试用”。 在此处输入图像描述

但是,如果用户注册按月计费订阅,即使在免费试用期到期后,仍会为用户提供半年计费订阅的免费试用。

例如,A 用户注册了“A 订阅”,并且在免费试用期(即 3 天)后,用户可以免费注册 X、Y 或 Z 计划,但不能在 B 和 C 上注册。我的要求是在使用免费试用后订阅后,不应再向用户提供免费试用。

0 投票
1 回答
451 浏览

ios - 除了 expires_date_ms 之外,我还应该检查 cancel_date_ms 以获取自动续订订阅吗?

我正在我的应用程序中实现自动更新订阅。

目前,为了检查用户是否有活动订阅,我latest_receipt_info从 Apple/verifyReceipt服务返回的响应 JSON 中检查数组中的所有记录,找到具有最大值的记录expires_date_ms并检查该日期是否在未来。在检查日期之前,我还要检查该status字段是否为 0(收据有效)。

我以为这就够了,但我最近发现还有另一个领域 - cancellation_date_ms. 据我从文档中了解到,如果用户通过 Apple 支持取消了订阅,则存在此文件。

来自(Apple 文档

您可以使用此值来:

确定是否停止提供与购买相关的内容。

检查任何最新的续订交易,这可能表明用户重新开始或升级了他们的订阅,以进行自动续订订阅购买。

所以我想知道,如果用户通过Apple支持取消订阅,这会影响expires_date_ms当前订阅期吗?所以下次我检查expires_date_ms时,我知道订阅没有激活。

还是expires_date_ms和用户取消订阅前一样,所以我也需要检查一下cancellation_date_ms

0 投票
1 回答
990 浏览

ios - 使用 Flutter for iOS 检索订阅 IAP 产品列表

我正在Flutter中实现自动更新订阅。我已经使用这个包成功地为 Android 实现了它们https://pub.dev/packages/in_app_purchase。但是,它不适用于 iOS。

我已按照所有说明在应用中心创建自动续订订阅,但是当我尝试在应用中获取产品列表时,它会返回null。请帮我解决这个问题,我被困在这个问题上。提前致谢。

0 投票
2 回答
835 浏览

ios - 如何以首次折扣实施自动续订订阅

我想实现自动更新订阅,为用户提供不同的折扣优惠。我有一个产品 ID,但我想对同一个产品 ID 应用不同的折扣。像这样的场景,如果用户在安装应用程序的 1 周内购买,则希望在首次付款时提供 50% 的折扣。如果用户在 1 周后和第 2 周完成之前购买,则希望在首次付款时提供 25% 的折扣。其他用户以产品原价购买..

为了实现这个功能,我在互联网上搜索并找到了一些 SKPaymentDiscount。但我不知道我是否可以使用 SKPaymentDiscount 来实现。

如果有人实施了相同的事情或对 SKPaymentDiscount 有经验,请与我分享。

如果有人有其他建议,那么我也会尝试。

在此先感谢并欢迎提出建议。