3

我在 Apple 技术说明 ( QNo: 15 )的常见问题解答中找到了上述问题。他们给出了这样的答案:

在沙箱中测试您的应用程序和审查您的应用程序时,请使用沙箱 URL https://sandbox.itunes.apple.com/verifyReceipt 。

一旦您的应用程序在 App Store 中上线,请使用生产 URL http://buy.itunes.apple.com/verifyReceipt 。

但在应用内购买编程指南(使用 App Store 部分验证收据)中。苹果提供了一个这样的网址:

使用 HTTP POST 请求将 JSON 对象发布到 App Store。商店的 URL 是https://buy.itunes.apple.com/verifyReceipt

请注意,第一个 url 使用 http 作为真实帐户来验证应用内购买,而第二个使用 https。我应该使用哪一个?我的应用程序被拒绝,因为服务器在向 Apple 发送收据时没有得到正确的响应。我正在使用https://buy.itunes.apple.com/verifyReceipt来验证收据。

4

1 回答 1

6

最好的方法是首先与生产服务器进行验证。如果您收到 21007 代码,您应该再次调用沙盒服务器。这是必需的,因为在提交过程中,您并不总是确定他们将使用实时服务器还是沙盒服务器。它需要在两者上都起作用。

这是一些以安全方式验证收据的源代码(反击去年的应用商店黑客攻击)。我将上面的代码添加到这个项目中,它将首先检查生产服务器,然后回退到沙盒服务器:

https://github.com/evands/iap_validation

编辑:我不会在 iOS 7 中使用上面的代码。我认为它有一些问题!

于 2013-01-25T09:07:17.333 回答