28

我使用应用内付款来销售游戏内消耗品。成功付款后,我将付款收据转发到我的后端,该后端会通过 iTunes 付款后端验证收据。这在沙盒环境中完美运行。

现在我提交了我的应用程序,以便它可以得到 Apple 人员的批准并在 App Store 中发布。当然,我确保我的后端将使用 iTunes 后端的生产环境验证付款收据,因为我希望 Apple 人员在生产模式下测试该应用程序。但是,该应用程序被拒绝了。作为一个原因,我被告知购买我的消耗品不起作用(由于收据无效而被我的后端拒绝)。检查我的日志后,我看到 3 次尝试购买。我解码了使用的收据,发现所有这些都是“环境”=“沙盒”。

这是否意味着 Apple 在沙盒模式下测试提交的应用程序?那会很疯狂!我应该在我的生产环境中允许沙盒支付还是什么?关于这件事的任何事实?

4

3 回答 3

45

Thomas,您绝对应该阅读 Apple 关于应用内购买的常见问题解答: https ://developer.apple.com/library/content/technotes/tn2413/_index.html#//apple_ref/doc/uid/DTS40016228-CH1-RECEIPTURL

始终首先使用生产 URL 验证您的收据;如果您收到 21007 状态代码,请继续使用沙盒 URL 进行验证。遵循这种方法可确保您在沙盒中测试或审查您的应用程序或在 App Store 中运行时不必在 URL 之间切换。

所以,是的,他们有点疯狂。但我们知道,不是吗?

于 2012-07-31T12:54:22.633 回答
1

@Jan P 的回答是正确的。如果您正在寻找一个快速的“是/否”答案,FAQ 中的具体答案是;

您应该在审核应用程序时使用沙盒。

(15) 我应该使用什么网址来验证我的收据?在沙箱中测试您的应用程序和审查您的应用程序时,请使用沙箱 URL https://sandbox.itunes.apple.com/verifyReceipt 。

于 2014-10-16T18:46:14.337 回答
1

快速回答:如果您的应用正在审核中,请使用沙盒。

我应该使用什么网址来验证我的收据?在沙箱中测试您的应用程序和审查您的应用程序时,请使用沙箱 URL https://sandbox.itunes.apple.com/verifyReceipt 。

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

于 2020-09-16T15:58:53.427 回答