在收到自动续订订阅的 Apple statusUpdateNotification 时,您如何确定客户/用户?
Posted
技术标签:
【中文标题】在收到自动续订订阅的 Apple statusUpdateNotification 时,您如何确定客户/用户?【英文标题】:How do you determine the customer/user when receiving an Apple statusUpdateNotification for auto renewing subscriptions? 【发布时间】:2018-01-03 23:34:25 【问题描述】:因此,Apple 已经为订阅生命周期中的各种事件实现了服务器到服务器的通知。
我很高兴能继续做这件事,但似乎我错过了一些明显的东西。我不确定如何将通知数据与我这边的用户匹配。我很惊讶没有与通知一起传递的 uid/apple id 来匹配。也许我应该使用 original_transaction_id 但不清楚这是否是唯一的。
有谁知道在状态响应中使用什么?
【问题讨论】:
请告诉我们您为从 Apple 获取此“statusUpdateNotification”所做的设置。请在这里帮助我们。谢谢 【参考方案1】:Apple 将向您的服务器发送receipt_data
。在receipt_data
中将有original_transaction_id
。但是,如果您只是收到来自苹果的original_transaction_id
,您无法检测到谁是该商品的买家。
所以在我看来,您的服务器需要在original_transaction_id
和user_id
之间存储一个唯一的ID。当苹果发送receipt_data
到你设置的接收苹果statusUpdateNotification 的钩子时,你会得到user_id
匹配original_transaction_id
将数据放入你的数据库。
【讨论】:
那么如何匹配 userId 和 original_transaction_id? 无法理解“get user_id from match with original_transaction_id”,在服务器状态通知中如何设置user_id 如何从INITIAL_BUY server-sever通知中判断用户? @HVSharma 您是否找到了从 INITIAL_BUY 服务器服务器通知中确定用户的解决方案? @isuru 不,我没有从 INITAL_BUY 确定用户。相反,我创建了一个 POST API,当用户购买任何订阅时将调用它,因为您从前端获取收据,您使用苹果服务器验证它,然后检查具有该 transaction_id 和 original_transaction_id 的收据是否存在,如果没有,我为该特定用户创建订阅。我想这就是我所做的。是的【参考方案2】:我使用 original_transaction_id 将事件与用户匹配。
【讨论】:
是的,我想这似乎是要使用的东西。其他一些消息来源说使用它和产品ID,它将确保它是唯一的。谢谢! 向您提出问题,但是...您收到通知了吗?尽管差不多 24 小时前在 iTunes Connect 中设置了我的通知 URL,但我实际上还没有以这种方式收到任何通知。而且我知道从那时起取消和重新激活都有。 (我知道如何按照我上面描述的方式将收据与用户匹配,因为我的应用需要在另一种情况下这样做。) 我们也没有从 Apple 服务器获得“statusUpdateNotification”。我们已经检查了 Apple 的安全规范,我们对此很有帮助。 ***.com/questions/45433136/… 成功接收这些通知的任何人:请在此处告诉我们。 @ChristianBrink:我成功收到了来自苹果的通知。我应该写下这个问题的答案吗?还是创建一个新主题?以上是关于在收到自动续订订阅的 Apple statusUpdateNotification 时,您如何确定客户/用户?的主要内容,如果未能解决你的问题,请参考以下文章