FAQs about In-App Purchase, in-apppurchase
Master haomeng is devoted to his contribution and respects the author's Labor achievements. Do not repost them.
If the article is helpful to you, you are welcome to donate to the author, support haomeng master, the amount of donation is free, focusing on your mind ^_^
I want to donate: Click to donate
Cocos2d-X source code download: point I send
This document provides answers to FAQs related to in-APP purchase.
Configuration)
1. Do I have to upload a binary file to test the in-APP purchase?
No. In-App Purchase (IAP) does not need to upload binary files.
Note: Do not upload the binary files in development to iTunes Connect before the application is ready for approval. If a binary file appears in iTunes Connect but its functions are incomplete, App Review will Review the binary file and may reject it. In iTunes Connect, if the App Review rejects the latest binary file, the IAP test will fail. A work und is to upload binary files without the IAP function through App Review. Once the binary file is approved, you can test the IAP function.
2. How can I enable the wildcard App ID to support IAP?
Follow these steps:
Identify and confirm the current Bundle ID of the app in Xcode or iTunes Connect. For more information, see About Bundle IDs.
Refer to steps 1-6 and 8-10 in Registering App IDs to update the wildcard App ID to support IAP.
3. What is the lowest version that supports automatic subscription?
IOS: iOS 4.2
OS: OS X 10.9
4. When will the SKPaymentQueue restoreCompletedTransactions method be used?
In the following two cases, you can only use the restoreCompletedTransactions method of SKPaymentQueue to restore automatic subscriptions or non-consumable items:
1. install them on other devices owned by the consumer.
2. reinstall the deleted devices of the application.
5. How many IAP product IDS can be created for each application in iTunes Connect?
You can find the answer by reading about Ing a Product.
Error Message)
1. Your account information has been changed (Your account info has changed)
Because you use a test account when logging on to the App Store on your device, you will receive a message "your account information has been changed. Once you use this account to log on to the product purchase environment, Sandbox will detect that your user account is unavailable. To solve this problem, you need to exit the current account in the setup application of the device, and create a new test account in iTunes Connect, use this account when the Store Kit prompts you to confirm your purchase from your application.
2. Cannot connect to iTunes Store (Cannot connect to iTunes Store)
"Cannot connect to iTunes Store" may be caused by one or more of the following reasons:
Sandbox is inaccessible.
Your application does not have bundle version (CFBundleVersion ). For more information, see Setting the Version Number and Build String
Your application runs on the simulator and does not support in-APP purchase.
The items you try to purchase are not listed in the sales list. For more information, see Query the App Store for product information before presenting your app's store UI.
3. This Apple ID has not been used in the iTunes Store (this Apple ID has not yet been used in This iTunes Store)
When you receive this message, you use the test account to log on to the iTunes Store. To solve this problem, You need to exit the current account in the setup application on the device and create a new test account in iTunes Connect, use this account when the Store Kit prompts you to confirm your purchase from your application.
4. You have already purchased this product. Click OK to download it for free again (You 've already purchased this. Tap OK to download it again for free)
This message is not a notification rather than an error message. It means you are buying a non-consumable item that has already been purchased. You do not need to pay for the purchased non-consumable items.
5. You have purchased the In-App product but have not downloaded it (You 've already purchased this In-App Purchase but it hasn' t been downloaded)
The message is received because you have not called the finishTransaction: method of SKPaymentQueue in the application. Call finishTransaction: You can delete a transaction from the purchase queue.
6. This account is not a test account. Please create a new account in the Sandbox environment (This is not a test user account. Please create a new account in the Sandbox environment)
When the Store Kit prompts you to confirm the purchase, you use the iTunes account to log on, and you will receive this message. To solve this problem, You need to exit the App Store in the setup application on the device. When the Store Kit prompts to confirm the purchase from your App, use the sandbox to test the user account.
Localization)
My in-app purchases in iTunes Connect have been localized to multiple languages. However, the localizedDescription and localizedTitle attributes always return English information, even if the language of the device to be tested is not English.
The localized information language returned by localizedDescription and localizedTitle is based on the current iTunes Store language rather than the language set by the current device. For example, if your in-APP purchase in iTunes Connect is localized for German, but you log on using an English test account, both localizedDescription and localizedTitle will return English information. If you need to return German information, log on to your test device using the German test account.
Receipt
1. Which URL should I use to verify Receipt? (What url shocould I use to verify my receip ?)
Use sandbox URL: https://sandbox.itunes.apple.com/verifyReceipt when testing applications and Applications in audit status
Use the commodity URL: https://buy.itunes.apple.com/verifyReceipt when the application is approved for mounting the App Store
Note: Make sure that the application used for verification is sent to the App Store.
You must first use the product URL to verify your receept; if you receive a 21007 status code, then use the sandbox URl for verification. Follow this step to avoid switching between URLs when the app is in the testing status, reviewing it in the sandbox environment, or mounting the App Store.
The status code 21007 indicates that the receipt is a sandbox receept, but has been sent to the product service for verification. The 0 Status Code indicates that the receipt has been correctly verified.
2. The Current receipt is invalid or does not match the Current user id (Current receipinvalid or mismatched ds person id)
This message is received because your application lacks OS X App Store receip.