问题标签 [in-app-subscription]

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 回答
987 浏览

in-app-purchase - 无法从苹果的状态更新通知键中获取 original_transaction_id

我正在实施Apple 的应用内购买编程指南中的状态更新通知https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html

我已经设置了订阅状态 URL,并且收到了来自苹果服务器的响应,但是我无法在文档的表 6-3 中获取original_transaction_id键。使用此密钥,我可以获得单个客户订阅的交易收据吗?

我意识到我得到了 original_transaction_id领域latest_receipt_info。外部键的值是否相同original_transaction_id(与 latest_receipt_info 相同级别的对象键)?

[更新]

这篇文章说我们将使用original_transaction_id来检测客户收据。问题是我无法获得original_transaction_id苹果服务器响应的字段。我怎么了?

在收到自动续订订阅的 Apple statusUpdateNotification 时,您如何确定客户/用户?

我的回应有

缺少original_transaction_id钥匙

0 投票
3 回答
6065 浏览

in-app-billing - 如何在应用计费谷歌播放中实现自动续订订阅

我正在研究使用 google play 在应用计费中实现自动续订订阅的方法。我阅读了https://developer.android.com/google/play/billing/billing_subscriptions.html并查看

计费按为订阅指定的时间间隔和价格无限期地继续。每次续订时,Google Play 都会自动向用户帐户收费,然后通过电子邮件通知用户收费情况。对于月度和年度订阅,计费周期将始终与订阅周期匹配,具体取决于购买日期。(季节性订阅按年收费,在季节的第一天。)

订阅付款获得批准后,Google Play 会通过 In-app Billing API 将购买令牌返回给购买应用。您的应用可以在本地存储令牌或将其传递到后端服务器,然后后端服务器可以使用它通过 Google Play Developer API 远程验证或取消订阅。

那么有什么方法可以让我的服务器知道用户的订阅何时更新?在那个 android 应用程序将这个新账单发送到我的服务器只是为了验证之后,而不是谷歌播放发送新的账单订阅到 android 应用程序。

当用户的订阅续订时,谷歌播放可以向我的服务器发送通知,例如通过电子邮件通知用户吗?我想通过 Google Play 向我发送通知,告知用户的订阅已自动续订,以便我的后端将在应用增加时更新他们的订阅。每次用户打开商店以检查是否有来自 goole play 收费自动化的新账单时,不需要 android 应用程序都必须检查账单。执行吗?

我的工作

  1. Google 收取新的周期订阅费用并通知我的服务器{正文,例如 bundId、bill、product_id 或订阅包名称、到期日期...),还向用户发送有关其订阅自动化续订的邮件。
  2. 我的服务器确定用户的更改订阅并通过 google play api 在应用程序购买中进行验证,如果验证有效,则在您的应用程序中更改过期包订阅。
  3. 在我的数据库中存储最新的账单

那可能吗?

[更新] goolge play api doc推荐

建议:在您的应用程序中包含业务逻辑,以通知您的后端服务器订阅购买、令牌和任何可能发生的计费错误。如果需要,您的后端服务器可以使用服务器端 API 来查询和更新您的记录并直接跟进客户。

如何实施来自 google api、任何文档或教程的推荐?

0 投票
11 回答
10990 浏览

ios - iOS 应用内购买订阅从 SKProduct 获得免费试用期长度

我正在通过订阅进行应用内购买。在 swift 中,您可以像这样从 SKProduct 获取价格和价格区域设置:

其中weeklyProduct 是一个SKProduct。

是否可以获得免费试用期?例如,我为该产品指定了两周的免费试用期。我可以从 SKProduct 得到这个吗?

0 投票
2 回答
2110 浏览

ios - iOS 应用内购买验证消耗品收据

在带有应用内购买的 iOS 中,有必要通过订阅验证收据。是否也需要验证消耗品的收据?

0 投票
0 回答
40 浏览

android - 具有相同 Google 帐户的用户的 InApp 订阅

我正在开发将具有 inApp 订阅的应用程序。现在,当用户购买 APP_USER_1 的订阅(例如),然后登录到 APP_USER_2 并且他无法购买相同的订阅时,我遇到了问题,因为他已经为这个 Google 帐户(他用于 Play 商店)购买了相同的订阅。

我想了几个解决方案:

  • 将订阅设为消耗品并立即消费(但这样不会有自动续费之类的东西)
  • 将所有为当前 Google 帐户购买的物品提供给所有将登录的 App 用户(但实际上不太好)

那么有没有什么办法可以用另一种方式解决这个问题呢?

0 投票
1 回答
230 浏览

android - 如何向 Google Play 控制台添加第二个应用内订阅?

我正在尝试使用应用内订阅,并已创建一个 APK 并将其上传到我的 Play 管理中心。我创建了两个应用内订阅,但意识到它们的价格与我创建它们时没有想到的价格相同。我去更改其中一个的订阅价格,但即使它处于非活动状态也无法更改,因此我删除了订阅。

我一直在尝试创建第二个应用内订阅,但定价下继续显示以下错误消息:“订阅激活后,您无法修改订阅的价格和计费周期。”。我输入了订阅的标题和描述,我输入了我想要的订阅价格,但每次我去保存它都说有一个错误,即使订阅尚未激活,定价中的消息也会继续显示。

我也没有使用与我删除的产品 ID 相同的产品 ID。我的应用程序设置为准备发布,我看不到任何与该应用程序相关的错误消息。

我在 Google 文档、StackOverflow 或使用 Google 搜索的任何其他区域中看不到任何帮助。有没有人遇到过这种情况或知道解决此问题的方法,以便我可以在我的应用程序中进行多个订阅?

0 投票
0 回答
909 浏览

xamarin.forms - 使用 CrossInAppBilling 的 Xamarin 表单,如何检查订阅是否有效?

文档:https ://jamesmontemagno.github.io/InAppBillingPlugin/

我正在尝试验证用户是否存在有效订阅,如果存在,请登录。

以下将获取所有订阅购买:

我检查是否应该根据是否找到订阅来允许用户登录。

但是我觉得这允许有待付款的用户登录(或者任何有任何类型的订阅记录,状态为已付款、待处理或被拒绝的人)。所以我所做的是检查“PurchaseState”:

这是正确的实施方式吗?我在 Android 上进行了测试,但测试购买仍处于 PurchaseState.Pending 状态,因此我必须包含“_subscription.State == PurchaseState.PaymentPending”才能登录。我需要一个对这个插件有经验的人,它的行为是实时的。

0 投票
1 回答
720 浏览

ios - 在 ios 中存储自动更新订阅收据的最佳方式是什么?

我正在我的应用程序中实施自动续订订阅。我能够完美地完成所有购买和修复。但是我对保存收据详细信息的最佳方法感到有些震惊。以下是我的问题。

  1. 将事务详细信息保存在 NSUserDefaults 中并在需要时检索详细信息是个好主意吗?
  2. 将收据保存在 Documents Directory 中并从那里读取它是一个好主意吗?
  3. 检查订阅结束日期的最佳方法是什么?每次用户尝试访问内容时,我是否需要不断检查当前日期,然后与订阅的结束日期进行比较?
  4. 我可以从保存的收据中获取订阅的结束日期,还是需要联系 Apple 服务器以获取订阅的结束日期?
  5. 订阅在指定期限后自动续订后,如何更新收据?

我知道一些方法。但想知道最好的方法。请指导我实现上述目标的最佳步骤。谢谢你。

0 投票
1 回答
69 浏览

javascript - 如何在 PhoneGap android 应用中取消显示订阅广告

我用的是Appodeal sdk,但在AdMob中原理是一样的

在付费版本中,当用户订阅时,如何查看用户是否实际付费,返回一个布尔值 true 或 false。

有了这个结果,我想向此类用户显示 Appodeal 的代码。处理这个问题的最佳方法是什么?使用 javascript?

我使用了 PhoneGap 的 fovea 插件,并在控制台上启用了订阅,我该如何测试呢

谢谢

0 投票
1 回答
74 浏览

android - 在到期日期之前手动续订 android inapp 订阅

根据计费订阅文档,有可能在当前订阅到期之前触发手动续订。

例如。如果我连续两次在特定的每月订阅中调用相同的购买流程,第二次将失败并显示错误“您已经订阅了 xxx”。我希望它能够成功,并在到期日基础上再增加一个月。

有没有办法在到期日之前手动更新 IAP?