Mic*_*ael 3 security in-app-purchase ios
iOS IAP文档指出,如果要测试商店,则应该从设置应用程序中的itunes帐户注销.在进行应用内购买时,系统会要求您输入用户名和密码.但是,在应用程序内部,我不知道用户是否已登录或者他是否正在使用沙盒帐户.
事实上,我并不关心它是否是一个沙箱交易,但是:在服务器上我必须通过URL https://buy.itunes.apple.com/verifyReceipt验证真实收据,并通过URL https验证沙箱收据://sandbox.itunes.apple.com/verifyReceipt.如何在服务器上知道收据是沙箱收据还是真实收据?
或者应用程序如何知道收据是真实的还是沙箱,因为将应用程序中的其他参数传递给我的服务器没有问题.
什么行不通:您不能只说应用程序的DEBUG版本使用沙箱环境,应用程序的ADHOC或RELEASE版本使用生产环境.使用ADHOC版本,完全可以使用iTunes测试帐户进行应用内购买.
验证收据时,如果收到状态代码21007,则表示其为沙盒收据.请看这里:https://developer.apple.com/library/content/technotes/tn2413/_index.html#//apple_ref/doc/uid/DTS40016228-CH1-RECEIPTURL
我应该用什么网址来验证我的收据?
始终首先使用生产URL验证收据; 如果您收到21007状态代码,请继续使用沙箱URL进行验证.遵循此方法可确保您在沙盒中测试或查看应用程序时不必在URL之间切换,或者在App Store中进行实时更新.21007状态代码表示此收据是沙盒收据,但已发送到生产服务进行验证.状态为0表示收据已正确验证.有关更多信息,请参阅WWDC 2012:使用应用程序内购买管理订阅.