问题标签 [in-app-purchase-receipt]

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

ios - SKPaymentQueue 的 restoreCompletedTransactions() 是否更新应用收据?

So将在另一台设备上执行SKPaymentQueuerestoreCompletedTransactions() 事务检索到当前设备上,因此相应的产品可在多个设备上使用。

然而,看到它返回一个事务,并保存这些事务在苹果书籍中是不行的,因为应该只有一个事实来源,这些恢复的事务是如何持久化的(以任何形式)?

应用程序的交易收据是否也会通过恢复进行更新?我问是因为如果应用程序重新启动,我认为必须restoreCompletedTransactions()再次检查用户是否有对该产品的有效交易是没有意义的。

那么,restoreCompletedTransactions 是否也会更新应用收据

注意:我已经拥有访问收据数据的机制,但没有第二台设备来模拟完全恢复。

0 投票
2 回答
76 浏览

in-app-purchase - NSString 到 NSDate = nil(带时区)

试图将“expires_date”字符串值转换为 NSDate 对象。

  • 日期字符串 = "2019-08-18 15:12:09 America/Los_Angeles"

有什么建议么?

0 投票
0 回答
400 浏览

kotlin - 更改为不同的活动并再次返回后,回收站视图上的项目消失

这里是一个非常新手的程序员,而不是一个好的英文打字机。我正在尝试为之前使用 PurchaseHistoryResponseListener 进行的购买创建检查器。当检查器发现某些东西时,它会添加到列表中,然后将这些数据提供给 recyclerview_MYBook。问题是,在启动应用程序时,数据完美地流过 recyclerview_MYBook,但是当移动到不同的活动并通过不同的方法(按钮单击)返回上一个活动时,recyclerview_MYBook 上的数据不显示,只有通过常规的后退按钮,recyclerview 上的数据才会显示出来。下面是我的菜鸟代码

类 MainActivity : AppCompatActivity(), PurchasesUpdatedListener {

}

这是适配器

类 BlogRecyclerAdapterMyBook : RecyclerView.Adapter() {

}

这里是数据源文件,它将存储适配器的数据

类 DataSourceMyBook{

}

0 投票
1 回答
238 浏览

php - 使用 PHP 验证苹果收据有时不起作用

我正在使用下面的代码使用 PHP 验证苹果收据,使用 CURL 我正在调用苹果服务器并尝试获取响应。此代码工作正常,但有时苹果 JSON 响应为空,我也没有收到任何错误消息. 它只是空白。

这是使用 PHP 验证苹果收据的唯一方法吗?或者请在我的代码中更正我犯的错误是什么,因为当我尝试调试时,我得到的是空响应,但如果我发送 10 个请求,7 个正在给出响应,3 个返回空白/空,这个问题并非一直存在。

谢谢。

0 投票
0 回答
97 浏览

java - 如何使用 java 验证 Apple 的“自动更新应用内购买收据验证”API?

有人可以指导我如何使用沙盒 URL 测试 iOS(自动更新 IAP)收据验证 API 吗?

我在下面的代码片段中试过这个。

但我需要以下提到的字段的示例请求数据

该字段是否requestview.getReceiptdata()需要任何 Valid Purchased 收据,或者 Apple 是否提供任何示例收据数据以在 SandBox 环境中测试此 API。

0 投票
0 回答
245 浏览

ios - 如何从失败的苹果收据验证中恢复?

我的组织使用验证收据端点验证从 App Store 购买我们产品的收据。我们的日志显示,从 2020 年 4 月 1 日开始,其中大约 400 次验证失败,返回状态码 503。这导致这些客户没有作为我们产品的用户出现在我们的数据库中。如何将这些“错过”的用户与我们的数据库“同步”?理想情况下,我们可以重新验证所有那些“丢失”的收据。这些客户可以做些什么来将他们的收据重新发送到我们的服务器,以便我们的服务器可以再次调用验证端点?

0 投票
1 回答
613 浏览

ios - 苹果内购:latest_receipt_info 数据排序/排序

我在我的一个项目中使用自动更新应用内购买。

为了检查到期日期,我正在解析收据并将订阅日期与今天的日期进行比较。对于最新订阅,我从latest_receipt_info键中获取最后一个对象,但现在我注意到latest_receipt_info的顺序/排序在我的收据验证响应中是相反的,我的意思是最新订阅来自 0 索引(第一个而不是最后一个)。

in_app键也以相同的方式返回数据。

我有几个问题,谁能帮帮我

  1. 以前有人遇到过这个问题吗?
  2. 检查最新订阅日期的正确方法是什么
  3. latest_receipt键也是空白

我知道要对响应进行自己的排序,但要寻找正确的方法。

以下是我的收据回复,我只包括必需的密钥。

0 投票
0 回答
116 浏览

ios - MZInAppLockerAccessException(状态 21010)Apple verifyReceipt 端点异常应用内购买订阅

我正在使用订阅应用内购买,并使用存储的收据点击以下端点:https ://buy.itunes.apple.com/verifyReceipt

就在上周末(从 2020 年 10 月 24 日开始),我开始收到以下异常返回,并且无法再验证我的收据,这是我业务的关键部分。

为什么我现在才开始看到这些,我该如何解决?

0 投票
1 回答
307 浏览

swift - In App Purchase Non-Consumable - Performance - App Completeness iOS 14.2

我面临的问题如下:

“我们发现,在运行 iOS 14.2 的 Wi-Fi 的 iPhone 上查看时,您的应用内购买产品出现了一个或多个错误。”

“在您的服务器上验证收据时,您的服务器需要能够处理生产签名的应用程序从 Apple 的测试环境中获取其收据。推荐的方法是让您的生产服务器始终首先根据生产应用程序商店验证收据。如果验证失败并显示错误代码“生产中使用的沙盒收据”,您应该改为针对测试环境进行验证。

我已经实现了应用内购买(非消耗品),它在购买和恢复等方面工作得很好。Apple 以上述原因拒绝。

我在做什么:

  1. 使用 SwiftyStoreKit
  2. 点击购买按钮
  3. SwiftyStoreKit.retrieveProductsInfo
  4. SwiftyStoreKit.purchaseProduct
  5. 成功时(SwiftyStoreKit.finishTransaction)

恢复:

  1. 点击恢复
  2. SwiftyStoreKit.restorePurchases

请让我知道是否需要更多信息或代码等以及我做错了什么拒绝了该应用程序。

Apple 最近也回复了我以下消息:

“关于购买应用内购买,我们仍然无法购买完整版的应用。当我们点击购买按钮时,应用会继续无限加载。

我们无法就应用概念或功能提供反馈,但我们建议您根据 App Store 审查指南、iOS 开发者计划许可协议 (PLA) 和 iOS 人机界面指南评估您的建议。”

0 投票
2 回答
56 浏览

ios - 在收据验证响应中未收到 expiration_date、expiration_date_ms 和 expiration_date_pst

我在应用内订阅成功后访问收据(通过检查 SKPaymentTransactionStatePurchased 状态)。在我验证此收据后,在收据验证响应中,“收据”下缺少“expiration_date”、“expiration_date_ms”和“expiration_date_pst”。这是为什么?

(作为一种解决方法,我尝试获取 latest_receipt_info 的最后一个对象并引用它的到期日期。但是这个数据是指当前订阅之前的最后一个订阅。所以我在那里找不到所需的到期日期。)

如何解决此问题并检索刚刚购买的订阅的到期日期?