i want to enable some inapp purchases in my new app. but i'm not able to load the informations from the store.
i'm quite sure, that i configured everything all right.. the bundle id seems to be the same at all 3 places (APP ID # provisining portal, bundle id in iTunes Connect and the Provision Cer). i'm also able to upload the binaries to apple.
EDIT:
fixed the problem by myself.
for me helped 2 things in combination:
remove "rejected" status via uploading the binaries again
don't use a jailbroken device
But in FAQ 6 are some more reasons for this problem listed:
You did not complete all the financial requirements (see the "Contracts, Tax, and Banking Information" section of this document).
You did not use an explicit App ID.
You did not use the Provisioning Profile associated with your explicit App ID.
You did not use the correct product identifier in your code. See Technical Q&A, QA1329, 'In App Purchase Product Identifiers' for more information about product identifiers.
You did not clear your In App Purchase products for sale in iTunes Connect.
You might have modified your products, but these changes are not yet available to all the App Store servers.
If you or App Review rejected your most recent binary in iTunes Connect.
hope this will help some more of you.
Related
I have an iOS application which uses in-app purchases.
I have already set the environment:
Set the Agreements Tax and Banking section,
Created iap products
Turned on "In app purchases" in the capabilities tab
Implemented my code to retrieve the product list and to perform a purchase validating the receipt server-side
I have also tested all with a sandbox environment and all works as expected: the list of products is correctly received by the store and i can purchase a product validating the corresponding receipt.
I have also tested the application using testflight which creates automatically a sandbox user for all testers and all works as expected.
I submitted my application to the Apple store and the revision has been passed so that at the moment the application is in "pending developer release" status, all the products have been approved:
In order to try an actual purchase (using a real credit card) I have generated a promo code with iTunes connect and I have installed the application on my iPhone.
However, when using the application downloaded in this way I can't see any products in the IAP section of my application. It seems the application downloads an empty or invalid product list. The same application version works fine with Testflight. Is the use of promo code permitted with IAP? Why I can download a proper list of products only using a sandbox user? Since I can't debug my application, how can I find the problem?
EDIT
I found found here the following points about invalid Product Identifier problem:
Have you generated and installed a new provisioning profile for the new App ID?
Have you configured your project to code sign using this new provisioning profile?
I have generated the App Id managing signing automatically with XCode.
In the developer portal I have the App ID in this form
Currently, I don't have generated any provisioning profile, in fact I can't find it in the "Provisionig Profile" section of the developer portal. And, as you can see in the image above, in Xcode I see "XCode Managed Profile" as a Provisioning Profile:
Is this a problem? If yes, how should I fix it? Is it enough to generate a new provisioning profile manually and install it on my machine? Should I upload a new build for my application?
If the provisioning profile is missing, why is my application working correctly using sandbox users and Testflight environment?
The problem was that, actually, you can't download a list of product until the application is in the "ready for sale" state. As stated in the In app Purchase FAQ:
"When an application is approved, the developer must also approve the application for release to the App Store. On approval, the application ID is activated to the App Store. The same activation is required for the in-app purchase identifiers and can only take place once the application is activated. In some cases, the activation of the In-App Purchase identifiers may lag up to 48 hours following the activation of the application.
If the developer does not approve the release of the production application to the App Store, then any new in-app purchase identifiers will not be activated. This is an issue when a developer wants to verify the application prior to activating it on the App Store. If the desire is to test the in-app purchase process for the new items, the application must be activated to the App Store. This is only an issue for new in-app purchase identifiers in a corresponding application submission. Once these in-app purchase identifiers have been activated, application updates to the submission will find that these in-app purchase identifiers are validated, even if the update is not activated."
So if your application is in "pending developer release" status, you can't get the product list with an application downloaded through promotional codes.
Once the app has been released on the store, the product list has shown correctly.
The problem was not related to provisioning profiles: the auto-generated provisioning profile is valid to submit applications with in-app purchases functionalities.
I want to submit an iOS app to Apple that doesn't have in-app-purchase enabled.
When I go to iTunes Connect and look at the In App Purchases section for my app I cannot see anywhere where I can remove the in-app-purchase option for my app.
I need to do this because Apple complains when I submit my app that there is no privacy policy and it won't allow submission.
I get the following error message when submitting the app:
"Apps that use the entitlements [com.apple.developer.in-app-payments] must have a privacy policy for [English]. If your app doesn’t use these entitlements, remove them from your app and upload a new binary."
In iTunes connect, you need to go to your product and set it to "Remove from Sale". You can then delete it.
Also, In Your Project --> Target --> Capabilities --> Turn In App purchases to off.
Removing Products from Sale You can choose to stop an In-App Purchase
product from being sold in an app. If you do, the In-App Purchase
product remains in iTunes Connect.
Important: Removing a product from sale prevents auto-renewable
subscriptions from renewing, but it doesn’t keep users from being able
to restore products that they purchased previously. bullet
Deleting Products You can delete In-App Purchase products after
they’re created, but not if they’re In Review. To delete a product
after it is available for sale, you must first remove it from sale.
Important: After you delete an In-App Purchase product, it’s no longer
available on iTunes Connect and it can’t be restored. The product ID
can’t be reused for another In-App Purchase product.
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectInAppPurchase_Guide/Chapters/WorkingWithYourProductsStatus.html#//apple_ref/doc/uid/TP40013727-CH33-SW19
This could be related to your App Id identifier setup which together with the iOS certficate is your provisioning profile which you use to sign your app.
If you have created an Explicit App Id ( no wildcard in Bundle Id ) then "Game Center" and "In-App Purchase" services are automatically enabled and cannot be disabled.
https://developer.apple.com/library/content/technotes/tn2259/_index.html
Explicit App IDs are App IDs whose Bundle Identifier portion is a string without the wildcard ("*") character. Furthermore, they are automatically registered for in-app purchase and Game Center...
This can be configured here
https://developer.apple.com/account/ios/identifier/bundle
A Wildcard App ID could be what you need.
You would have to recreate/edit the provisioning profile and sign your app with that.
I have submitted an iphone app with in-app purchase But my Binary is rejected and I have got the following message from Apple
From Apple. Missing IAPs
We are unable to complete the review of your app since one or more of your In App Purchases have not been submitted for review.
Please be sure to take action and submit your In App Purchases AND upload a new binary in iTunes Connect. Learn more about submitting In App Purchases for review in the iTunes Connect Developer Guide.
Once you've submitted your In App Purchases and uploaded a new binary, we can proceed with your review.
My questions is Should i create a new binary and upload it or can i resubmit the binary which the In App Purchase has been rejected ?
looks like an old post but but making it more detailed because I myself faced it and made me searching multiple posts for actual steps.
First of all, you don't need to create a new binary because you just forgot to select In App purchases for review. Below are the steps how you can do this
Before making the Application "Ready to Upload" you need to select all the In App Purchases in Applicatin's Detail Page.
At iTunes Connect -> Click your application -> Click Edit -> scroll to bottom, you would see In App Purchase link, select the In Apps you want to make the part of your Application Submission Process. Once you are confirmed then change your product status to "Ready to Upload Binary"
If somehow you forgot to do that then there is only 1 way. Which is Reject and then Re Do the process I mentioned above.
you missed to submit the in app purchases for review . Now each of your in app must have its status as " Waiting For Review " . You can submit your binary and related in app purchases to the apple review process . You should create a new binary and submit it to the app store review process.Hope this helps.
Here is my case. All info is included in the reply to Apple.
Thanks very much for reviewing the app.
On IAP a few days before,
our Product Manager did not know in-app purchase products subscription well .
In order to get more free user,
he sent three months subscription for free to new registered users
by adjusting member date on the server side.
After a lot of querying,
we will use IAP App Store Promotions to get more free user,
instead of changing the member date simply on the server side.
We have completed in-app purchases,
and will upload a new binary in App Store Connect soon.
Subscription issue, not on the iOS client Side, but on the server side.
I replied. After a while, I see the place "to submit the in app purchase" in an iOS product on App Store once.
I handled, and it disappeared. Very interesting.
I have not seen the place "to submit the in app purchase" in an iPad product on App Store.
On App Store Reviewing Issue, honest communication is very important.
Yes, you should create a new binary and upload it.
You should do what Apple told you to do.
This is my case.
Firstly, you should add meta info to IAP products.
The meta info, is an image with its description.
Get it ready.
Then Apple will add IAP Add Options in the app version page, which is to be reviewed, after some time.
Six steps from Apple, Workflow for configuring in-app purchases
Sign a Paid Applications Agreement
Configure in-app purchases in App Store Connect
I thought the In App Purchase link is here, which Ahsan.Amin means, iOS Version 13.2
Enable in-app purchase in Xcode
Design and create your in-app purchase
Test in-app purchases
Publish your app and in-app purchase on the App Store
I'm trying to understand how to work with In App Purchases. I've read many documents and seen a lot sample codes but I can't understand why product list is empty. According to documentation and forums I made this:
Setup contracts on iTunes connect.
Create AppID on provision portal with unique bundle ID
Create and install provision profile for this AppId and enable In App Purchases
Create application on iTunes connect.
Create purchases for this application.
Submit application.
Reject application.
In code, I've tried to receive product information by product ID and as result I can see empty list. However, I can see an array of invalid product IDs.
Could you help me to understand what is wrong?
Thanks.
According to Apple documentation:
Follow these steps to test your application in the sandbox.
- Log out from your iTunes account on the test iOS device.
- Before you can test your application, you must first log out of your regular iTunes account. iOS 3.0 includes a Store category in the Settings application. To log out of your iTunes account, exit your application, launch the Settings application and click the Store icon. Sign out from the currently active account.
- Important: Do not sign in with your test account in the Settings application.
- Launch your application.
- Once you have signed out of your account, exit Settings and launch your application. As you make purchases from your application’s store, Store Kit prompts you to authenticate the transaction. Log in using your test account to approve the payment. No financial transaction takes place, but transactions complete as if a payment was made.
I've tried it and can't see "Store Kit prompts you to authenticate" when I ask for products. Maybe I need to setup project in xCode?
Hm...
I can see products in Simulator of iOS 5 but can't buy it. Magic.
Try to delete your build and app on your device. I think this one should work.
It can take a good few hours for Apple's server to get round to enabling the in-app buys. I had the same problem that you did, but then it just started working half a day later.
I am having trouble querying product info from the app store via in-app purchasing. I have followed this guide closely, but have one lingering question.
When you add products to iTunes connect, is it required to "submit for review" before they are able to be queried when launching through Xcode?
Make sure you have submitted your Paid Applications Contract and filled out your banking information. Until you complete these, In App Purchases will fail.