Ios 获得;“停止购买”;用于应用内购买

Ios 获得;“停止购买”;用于应用内购买,ios,testing,in-app-purchase,sandbox,storekit,Ios,Testing,In App Purchase,Sandbox,Storekit,我已经创建了一个测试用户,并在设置中从手机注销。 当我尝试使用我的测试帐户在我的应用中尝试应用内购买时,我得到了“确认您的订阅”,这很好,但后来我得到了“购买停止” 我不知道我错过了哪一步。感谢任何能给我提供线索的人 使用测试帐户调试应用程序。 App Store是一个交易环境,任何用户都可以在这个环境中购买应用程序,但如果你想在开发过程中测试应用程序,就要付费,我们不可能在真正的Apple Store中。苹果为开发者提供了一个用于调试购买行为的测试沙盒,它完全复制了app store交易环境,

我已经创建了一个测试用户,并在设置中从手机注销。 当我尝试使用我的测试帐户在我的应用中尝试应用内购买时,我得到了“确认您的订阅”,这很好,但后来我得到了“购买停止”


我不知道我错过了哪一步。感谢任何能给我提供线索的人

使用测试帐户调试应用程序。 App Store是一个交易环境,任何用户都可以在这个环境中购买应用程序,但如果你想在开发过程中测试应用程序,就要付费,我们不可能在真正的Apple Store中。苹果为开发者提供了一个用于调试购买行为的测试沙盒,它完全复制了app store交易环境,但在沙盒环境中,我们不能使用通常的苹果账号,而是需要使用一个测试账号。(只要有应用程序id,您就可以添加其商品并进行测试。) 在iTunesConnect主页中,可以单击管理用户进入用户管理页面,然后选择测试用户以创建测试帐户。根据最新的苹果开发者的谢意,创建一个测试帐户必须使用真实的电子邮件地址,并且密码必须符合要求,激活后测试帐户需要在邮件中使用。此处创建的可用于购买应用程序开发过程中的高级帐户,必须记住,该帐户不能用于测试在生产环境中登录real app store和购买行为,否则您的iTunes帐户可能会被停止。(测试帐户可以由itnunes connect添加,只需在此处的行中添加帐户信息,以注意此帐户只能用于我们的应用程序沙盒测试,不能用于购买的普通商品(例如,购买已应用于货架内的商品),否则苹果将禁用该帐户。) 当我们确认购买一个产品时,我们会在TransactionReceive中得到一个SKPaymentTransaction对象,用于验证信息(即一组json字符串),我们进行base64加密,然后按照苹果要求的格式(具体指文档)发送到其上的验证地址。认证成功后,app store内返回的用于购买商品的信息包含可使用的特定信息,可以进行对账

购买商品后,我们的本地交易队列会有一个新对象,交易队列存储在本地硬盘上,除非我们调用finishTransaction,否则交易对象不会被删除。当程序打开时(这里我们必须注意,下面将详细说明这一点),如果事务队列不是空的,那么我们将通知ios事务队列状态更新,我们将根据事务对象的状态进行处理。 SKPaymentTransactionStatePurchased交易成功后,钱已扣除完毕,我们希望确保产品将发送给用户 SKPaymentTransactionStateFailed交易失败的原因有很多(您可以通过SKPaymentTransaction.error.code查看失败的具体原因),最常见的原因是SKErrorPaymentCancelled(用户取消交易),或者没有输入有效的itunes id SKPAYMENTTRANSACTIONSTATE恢复已购买的非消耗性商品,然后我们必须根据交易成功率进行处理


如果事务失败,我们可以从事务队列中删除该事务。如果成功,他们必须启动身份验证,验证结果等待处理。结果,不超过三个,验证成功,验证非法,验证错误。我们要谈的是成功和非法交易的交易对象被从队列中删除,验证错误可能是身份验证服务器失败,我们不应该删除交易对象,要重新回到程序中进行验证,直到它成功或失败

你能检查错误代码吗?