Apple 应用内购买服务器到服务器通知

Apple in-app-purchase server to server notification

提问人:Mohamed Emad 提问时间:11/14/2023 更新时间:11/15/2023 访问量:18

问:

我写信是为了寻求帮助,以解决我们遇到的有关应用内购买的服务器到服务器通知的问题。

尽管按照 Apple 文档中的设置说明进行操作并确保我们的服务器支持 TLS 1.2,但我们的端点仍未收到通知。

以下是我们采取的步骤的摘要:

端点配置:我们在使用 Heroku 托管的服务器上设置了一个 HTTPS 端点。我们的应用程序是使用 Node.js 和 Express 构建的,它旨在侦听 POST 请求以处理 Apple 的服务器通知。

App Store Connect 设置:我们在 App Store Connect 中为生产环境和沙盒环境输入了正确的端点 URL。我们还确保我们已设置为接收版本 2 通知,因为这是最新的格式。

TLS 支持:我们已经验证了 Heroku 默认支持 TLS 1.2,并且我们的服务器配置为使用此协议。

收据和共享密钥:我们从 App Store Connect 生成了共享密钥,并将其作为配置 var 安全地存储在 Heroku 中。此共享密钥用于通过 Apple 的 verifyReceipt 终结点验证收据。

测试:我们使用 Apple 的沙盒环境进行了测试,通过执行事务来触发服务器通知。此外,我们还检查了 Heroku 日志中是否有任何传入请求,并且没有观察到任何与 Apple 服务器通知相关的请求。

防火墙和 IP 白名单:我们的服务器没有任何 IP 白名单或防火墙规则来阻止来自外部服务的传入 HTTP POST 请求。

但是,尽管采取了这些措施,我们仍无法收到任何服务器到服务器的通知。

节点.js iphone express apollo-server

评论

0赞 Community 11/14/2023
请编辑问题,将其限制在特定问题上,并具有足够的细节以确定适当的答案。

答:

0赞 Mohamed Emad 11/15/2023 #1

解决。在模拟器中运行时,我没有收到沙盒服务器通知。但是当我尝试通过 TestFlight 时,一切都奏效了。