最近,App申请被拒,原因是App In Purchase时返回receip无效的错误。
经过调查发现,apple在审查的时候用的是sandbox的帐号,所以你必须在code中,先用production的url进行receipt的验证,如果返回21007的错误,再用sandbox的url进行验证。
见Apple文档说明:
How do I verify my receipt (iOS)?
Always verify your receipt first with the production URL; proceed to verify with the sandbox URL if you receive a 21007 status code. Following this approach ensures that you do not have to switch between URLs while your application is being tested or reviewed in the sandbox or is live in the App Store.
Note: The 21007 status code indicates that this receipt is a sandbox receipt, but it was sent to the production service for verification.
Adding In-App Purchase to your IOS and Mac Application
App rejected because App uses sandbox account when testing