Testing Non-consumable In-App Purchase - iphone

I am trying to create my first non-consumable in app purchase for my ios app and I just uploaded the .pkg to iTunes Connect (via XCode) but I still see this warning...
This In-App Purchase is not currently available for testing in the sandbox environment because you have chosen to host your content with Apple, but have not delivered your content. Upload your content to test this In-App Purchase in sandbox.
and the status is still
Waiting for Upload
I have not yet submitted my App's binary yet however.
How do I get rid of the message above and move on with testing in the sandbox env? Do I need to submit my app's binary?

Nevermind! I guess I was just being impatient. I checked back after a couple of hours and now the warning message has changed to
Your first In-App Purchase(s) must be submitted with a new app version. Select them from the In-App Purchases section of the Version Details page and then click Ready to Upload Binary.
For those who also got confused because they did not notify you directly, just make sure that you:
Archive your in app purchase, distribute it through XCode (Open organizer) and wait 1-2 hours.

This error came up for me when I edited an in-app purchase.
I have not received a reply from Apple but found that when I changed the image, I got this on saving.
Instead of being an edit, it turned into an add new.
As I have quite a few apps, I decided to add the in app-purchases to them and found that there was an issue with the graphic. There is no need to change the old one but thought it would be nice.
It is buggy.
I resolved the problem by deleting the new in app purchase and the edits were still saved into the original configuration except for the image.

Related

Unknown App when confirming in-app purchase

I have created a newsstand app and have everything working. The only issues I have now are:
When I click 'subscribe' and the dialogue box pops up to confirm the in app purchase it says
Confirm Subscription
Do you want subscribe to Unknown App for free?
[Environment: Sandbox]
Why does it say Unknown App? Everything else works (receipt validation, completing the transaction & co.)
Also, will the [Environment: Sandbox] go away automatically once I upload it to the app store and download it for real? Is there something in my code that I am missing that sends the in app purchase request to the sandbox? Or is it just because i am using a test device that has the app compiled onto it from XCode.
If your app is not in app store, it shows you the [Environment: Sandbox]. It will automatically go away once you uploaded app and your app is in app store.
For "Unknown App":
You need to add text in inApp purchase section in iTunes connect. If you haven't done that it will show you "Unknown App" on message which comes on iOS pop-up.When you activate in-app purchase by filling all information in inApp purchase section, pop-up will not show you "Unknown App", rather the pop-up will mention your app name.
Hope this will help you.
If your app is not in app store, it shows you the [Environment: Sandbox]. it will automatically will go away once you uploaded and your app is in app store.
If your binary has been rejected by Apple, the IAP products submitted with it should also show up as rejected. When you try and purchase a rejected IAP within the app, the confirmation screen will show the aforementioned "Do you want to buy one Unknown App...".
To correct this you should be able to make a small change to each IAP product in iTunes Connect. Then simply change it back, then the rejected flag should go away (and be replaced by waiting for review. For example, I added an 's' to the Display Name for the English language of each product. Then went right back in and removed the 's'.
This may not be acceptable to Apple if the reason for your rejection centers around your use of In-App Purchases.
I suggest to check your itunesconnect account.
Goto your Specific App "NewStandApp" .-> Manage InAppPurchases. Now check Reference Name you have Added with your ProductID.
Product_Id your are referring in project/app (sandbox environment) might be connected with app name "Unknown app"

iOS In App Purchase - "Invalid Product ID" in release, NOT development version

I created a new app and uploaded the binary to iTunes Connect, then tested IAP using the test user account, both on the simulator and on the device. Both worked.
I submitted the final app and it is currently live on the App Store. However, after deleting the development version from my device and downloading my app from the App Store to test IAP, the app immediately receives an "Invalid Product ID:" error.
Once again, the development version worked using the test user account, but live on the store it does not work and returns invalid product ID. Any ideas what this might be? If anyone wants to test this (in case it's just me) the app is called "ContaX" and is free with ads - you don't need to actually buy the upgrade, just see if it crashes after tapping the remove ads option.
I advise you to wait for 24 hours after your app is approved.
Sometimes it takes more time for the in app purchases to be available in the released application.
I am also suffering with this issue and my app has rejected two time due to this issue. I went to Apple Developer Forum to get the solution. The problem is might be with Review team's device or environment.
Here is the link of full thread: https://devforums.apple.com/thread/233371
I think it will work for you as well.
Double-check the bundle ID you've submitted the app under and the product IDs you're sending to the app. They have to match.
You may have accidentally submitted an app with a different bundle ID.
After fighting this problem for a while I realized I was using the "Apple ID" to get the In App Purchases rather than the "Product ID". So, make sure you're using the "Product ID" and NOT the product's "Apple ID"!
I'd like to share our experience. One of our apps did not have any purchase since release. It was over a month. We have tested in app purchase during development phase in sandbox mode, everything was ok.
When we deleted the development app from our device and installed the app from the app store, we got Invalid product id during purchase.
We double checked everything and tried many things. What we think done the trick is toggle "Cleared for Sale" in the iTunes connect.
We have 3 auto renewing subscriptions. In IAP page, We uncheck Cleared for Sale. then save, then again recheck Cleared for Sale, saved again on each product. remove app from the phone and download again from App Store.
Nothing seems to happen. After 30 minutes suddenly one auto renewing subscription started working. 2 other subscriptions still didn't work. After 5 hours all 3 subscriptions started working magically.
We are seeing something similar. On a new tvOS app with 8 auto-renew subscription IAPs, for the first 30 hours or so after release, none of the IAPs were available. Then one became available and now we are at 40 hours since release with still only 1 of 8 IAPs available.

In App purchase is getting rejected again and again

i have implemented the in app purchase in my application and added few in app purchases. on itunes connect i have filled all the details for the in app purchases. Initially the status of in app purchase was "waiting for review" and i was able to test in app purchase in sandbox env. but after every 4 days, in app purchases gets new status "developer action needed" and in the language section there is a "rejected" sign of in app purchase. so to make this use able again i have been using to make little change in description, which makes the in app purchase again in review
as history of the project is: right now application version 1.0 is available on app store in which in app purchases are not implemented
and i have added new application version 2.0 which is in "rejected by developer" state
so i just want to know why itunes connect team is rejecting in app purchase again and again?
also im not getting any email regarding this rejection
any one guide me what is the solution to this problem or any one else has faced this issue before?
Have you uploaded new version on apple store which is having in-app purchase code implemented ? if not then they will reject the in-app purchase items.
also if apple is rejecting your in-app purchased , then have you provided all the details to them. As if they find the in-app purchase improper then they can can reject it. Provide them proper details and proper screen shot for the same.
Also if apple is rejecting your in-app purchase then you may can ask apple review team about the issue. Use the Link. they will let you know the exact issue.
Hope this will help you.
I recently had this problem with an app submitted to Apple.
There is a fallback system that needs to be in place for server side in app purchase validation.
It is documented in Apple, but VERY well hidden in tech note :
http://developer.apple.com/library/ios/#technotes/tn2259/_index.html
Here is the way to do it :
"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."

Upload App Update to Itunes Connect prior to Approval

I submitted an app to itunes connect, and wouldn't you know it the next day found a bug.
So I fixed the bug and now have rebuilt and am trying to upload the App, but I see no way to upload a newer version of the app in itunes connect.
Attempting to just upload the archive says something along the lines of no matching app found on itunesconnect.
Attempting to create a new app on itunesconnect is not an option either, since my app signing cert is associated with the pending app... So I can't create a new entry. Well I could but would have to create a whole new app cert etc.. which is silly.
So, can I update the exist APP prior to it being approved? If so how? Or is my only option to delete the pending app, and recreate the entire record?
Thanks in advance.
You can reject the binary that you've submitted. Note, this will reset your place in the review queue. From the iTunesConnect developer guide (click "Rejecting Your Binary"):
Rejecting Your Binary
You can reject the binary you have submitted if its status is any of
the following: Missing Screenshot (iOS only), Waiting for Export
Compliance, Waiting For Review, In Review, Pending Developer Release,
or Pending Apple Release. Click the Reject Binary button on the Binary
Details page. This action removes your binary from the review queue.
You can then submit another update through Application Loader after
you move your app back to the Waiting For Upload state in iTunes
Connect. If you reject your binary, your app’s status changes to
Developer Rejected. When you resubmit your binary, the review process
starts over from the beginning.
Hope this helps,
Scott H

in-app purchase sandbox mystery: phone left in state unable to initiate purchase

I have an ad-hoc deployment of my iOS game, which includes in-app purchase. It is correctly set up with a purchasable item on itunes, and I have test users on itunes. I am able to successfully test it with my own iPod, and with a friend's iPod -- I can choose the item to purchase, get the price info correctly from the Apple server, choose to buy, enter the Apple ID and password for one of the test users, an the purchase completes successfully.
Another friend also installed the game on his iPhone and was starting to look at in-app purchase, but he followed an incorrect procedure, an now we can't get in-app purchase to work on his iPhone at all.
Specifically, he correctly signed himself out of the Store via the Settings application, then ran the game and chose the item to purchase. It correctly retrieved the price information. However, when the standard UI popped up and where he was supposed to click "Use an Existing Apple ID" he chose "Create a New Apple ID" by mistake. This brought him out of the game (game was sent to the background) and over to the web page to fill in the details for a new user. He realized that was wrong and returned to the game. But when he then tried to repeat he process, after retrieving the price info (again successfully), when he went to initiate the purchase, it errors out and never shows the standard UI where he can choose Existing Apple ID or Create New. So it's like his phone was left in a funny state. He tried rebooting the phone, reinstalling the app. Same problem. Then I recommended that he log in to the Store via the Settings app using his regular account, download a couple free apps, and then log out of the Store via the Settings app and try again. My thought was that this full process would somehow "clear out" whatever bad state his phone was in. But no dice. Same problem.
We can't figure out what state his device is in such that it fails when going to the purchase step of this sandbox in-app purchase process. I am still able to successfully complete the process on more than one other devices, so I don't think it's a problem with the state of the purchasable item or test users on itunes. It seems to be something specific to his device. I also had him using iPhone Config. Utility to watch the Console log as he went through this process. Very little was seen -- just an error code coming back after trying to initiate the purchase. (Nothing about PIPELINING errors and other web-service type errors that I've seen before when in-app purchase wasn't set up correctly on the sandbox.)
Any ideas on what state his phone could be in with respect to (sandbox) in-app purchase, and how we can clear it out?
Reset your network settings (Settings -> General -> Reset -> Network Settings)
Turn off your iPhone and turn it on again.
Wait for 15 min (This is the time iOS caches AppStore credentials)
Try running the app again.