【问题标题】:Validating iOS in-app-purchases using my own server使用我自己的服务器验证 iOS 应用内购买
【发布时间】:2013-04-09 08:29:48
【问题描述】:

我想使用我自己的服务器验证 iOS 应用内购买。 iOS 应用程序将与我的服务器通信,而我的服务器又将与 Apple 的服务器通信以确定 IAP 是否有效。我对网络还很陌生,所以我有一个基本问题:如何确保我的 iOS 应用与我的服务器安全通信?

我想该应用程序将通过 https 进行通信,但我不知道它是如何工作的。非常感谢有关在两者之间设置 https 通信(或替代安全通信方法)的任何建议!

【问题讨论】:

    标签: ios security https in-app-purchase receipt


    【解决方案1】:

    劳森有一个观点。您不能让您的服务器直接在 AppStore 上执行购买。这必须由您的应用程序执行。

    它应该从您的服务器请求可用的产品标识符,然后将SKProductsRequest 发送到 AppStore。 如果需要,它会通过应用商店处理购买,并通过发送所谓的收据告诉您自己的服务器。服务器可以直接在 AppStore 验证收据。但这是服务器在 AppStore 中唯一可以自己做的事情。

    您可以在此处阅读更多信息:Overview of In-App Purchase: Server Product Model

    至于您的应用程序和服务器之间的连接,我认为您没有太多(合理的)选择,只能使用 SSL。几乎任何更安全的东西都需要 PKI。

    【讨论】:

    • 如何让我的应用使用 SSL 与我的服务器通信?服务器或应用程序是否需要任何特殊证书?对不起,基本问题。我对此很陌生。
    • 这取决于。您需要 SSL 证书。要么是来自像 Verisign(Symantec) 这样的“值得信赖”的人 - 这需要花钱 - 要么你自己创建。
    • “如何让我的应用程序使用 SSL 与我的服务器通信”是一个单独的问题。如果将单独的问题制成......好吧......单独的问题,它有助于使 Stack Overflow 变得更好! :) 这是一个这样的问题和答案:stackoverflow.com/questions/16048880/…
    【解决方案2】:

    抱歉之前的回答...我误读了您的问题。您可以让您的服务器向 Apple 的服务器发送一个 POST 请求,然后解析响应。

    https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html

    【讨论】:

    • @Lawson。您可能想删除之前的答案,这样您就不会继续因投反对票而失去声誉。
    • 谢谢...我很确定最初的提问者在我回答后修改了问题...最初读起来好像他们希望在应用程序购买中跳过 Apple。请参阅 Tobi 的答案。
    猜你喜欢
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多