【发布时间】:2013-05-28 10:02:22
【问题描述】:
我正在 Mac 和 iOS 应用中进行应用内购买。
当根据https://buy.itunes.apple.com/verifyReceipt 验证沙盒环境收据时,我们了解到的情况是 21007:CargoBayStatusSandboxReceiptSentToProduction。
这在 iOS 中完美运行,但对于 Mac 应用程序,结果就不同了。
我的 Mac 应用程序中有一个有效的沙盒环境收据,我使用 https://sandbox.itunes.apple.com/verifyReceipt 进行了验证。
当我使用https://buy.itunes.apple.com/verifyReceipt 验证同一张收据时,我需要取回状态码为 21007,但这并没有发生。相反,我得到以下响应:
<html><head><title>Error</title></head><body>Your request produced an error. <BR>[newNullResponse]</body></html>
基本上,如果我在 Mac 应用商店中提交此应用进行验证,并且 Apple 人员使用测试 ID,我将获得一个沙盒收据,该收据将失败并显示生产 URL 收据验证的状态代码,然后我可以回退到沙盒 URL用于收据验证。但如前所述,响应不包含有效的状态代码。
我在终端中执行了以下命令:
-
使用base 64编码对收据进行编码,其中
receipt是收据文件的路径:base64 -i receipt -
发布数据以验证收据:
curl -d '{ "receipt-data": "<your b64 string here>" }' https://sandbox.itunes.apple.com/verifyReceipt或
curl -d '{ "receipt-data": "<your b64 string here>" }' https://buy.itunes.apple.com/verifyReceipt
生产 URL 的响应是:
<html><head><title>Error</title></head><body>Your request produced an error. <BR>[newNullResponse]</body></html>
理想情况下应该是{status code = 210007}。以前有人遇到过这个问题吗?还是我错过了什么?
【问题讨论】:
-
您可能需要清理问题的格式。很难理解你在问什么。
标签: macos