提问人:Mohamed Emad 提问时间:11/14/2023 更新时间:11/15/2023 访问量:18
Apple 应用内购买服务器到服务器通知
Apple in-app-purchase server to server notification
问:
我写信是为了寻求帮助,以解决我们遇到的有关应用内购买的服务器到服务器通知的问题。
尽管按照 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 请求。
但是,尽管采取了这些措施,我们仍无法收到任何服务器到服务器的通知。
答:
解决。在模拟器中运行时,我没有收到沙盒服务器通知。但是当我尝试通过 TestFlight 时,一切都奏效了。
评论