My iphone application has in-app purchases and those have been tested using the iTunes Connect test user account. I'm now distributing it via ad-hoc distribution to beta testers. Is there any way to make the purchases "live" so that they can test them with their real iTunes accounts and not have to use the test account? I'd clearly like to test this before formally submitting it to the iTunes store
I think they only run in sandbox mode via ad-hoc. You can't test it, but it should all work if it works through the test account.
You can't use production products, but you can create test user accounts and distribute them so that your beta testers can test the in-app purchase components. It's a bit tricky because they have to use the Settings App to log out and then log in from inside your application with the test user account.
Related
Can we use test account credentail after submitting app to appstore to make purchases. What is the validation time period of the test account credential?
No, test accounts do not work on apps which are live on the AppStore. Test accounts only work in the sandbox environment. This is stated in In-App Purchase Programming Guide:
When you launch your application from Xcode, Store Kit does not
connect to the App Store. Instead, it connects to a special sandbox
store environment. The sandbox environment uses the infrastructure of
the App Store, but it does not process actual payments. It returns
transactions as if payments were processed successfully. The sandbox
environment uses special iTunes Connect accounts that are limited to
In-App Purchase testing.
Once you publish the app on AppStore, the app starts pointing to the live AppStore (it does not go to the sandbox environment).
I am getting the below error for sandbox testing while test in app purchase
you are not authorized to make purchases of this in app in sandbox at
this time
How to avoid this error
Make sure of the following:
1. The test account created is from the same developer portal from which you generated your provisioning profile.
2. The test account still exists and was not deleted from there.
3. Use the same identifier for which you created the in-app purchase for your app in iTunesConnect.
I found that I got this error when trying to log in with the wrong test account. One not connected to my iTunes connect account.
Log into iTunes Connect and double check you are using the correct email address as in the test account.
Otherwise here is a pretty good post about all the checks you need to go through to get the in app purchases working in sandbox mode, each has a short blurb on completing each one: http://ireviewappsblog.wordpress.com/2014/07/07/adding-in-app-purchases-in-sand-box-mode/
It covers adding the app to iTunes connecting, setting up the developer account and then also adding the code in xCode to get it working.
1.Check in-app product identifier on itunesconnect is same as you are using in your application
2.Check the bundle identifier for your app are same in the development profile & & itunes connect
3.The status of in app purchase for which you are testing on iTunes connect should be "Ready to submit"
4.Delete the app from your device clean its build from xcode if you have changed bundle identifier or provisioning profile
5.No documents agreement should be pending on iTunes connect or developer.
It is possible that your test account does not exist any longer. I found that you are still able to log in with a deleted test account but you are not allowed to make purchases and you will see the same message as you described.
Chances are you are using provisioning profile from different developer account. check it once again.
Step 1 : Go to settings.
Step 2 : Select iTunes & Settings
Step 3 : Scroll to the bottom. There is a section for SANDBOX ACCOUNT
Step 4 : Sign in there using your Sandbox account
Now test your app & it will work fine.
For sandbox, only sandbox testers can make purchases.
Make sure testers NEVER use the sandbox accounts to make actual purchases; this will convert the sandbox account to a live account.
Only Sandbox Testers can make test purchases. It's NOT the users who are listed in Internal and External testers lists. Check iTunes Connect => Users and Roles => Sandbox Testers.
I have in-app purchases in my app, which are live on the app store. I have sent out a new beta to my testers, and one is trying to make an in-app purchase but it is coming up with the sandbox. Is this supposed to happen? They do not have a testing account and actually want to spend money, so I figured I should ask: How or why do beta testers, who are running my iOS app on their phones and not the iOS simulator, get the app store's sandbox as opposed to the regular app store?
Please make sure that your tester will signout from testing account from Setting & they are using proper iTunes account for purchasing the product. I assume you have used proper product identifier in code as you have entered in IAP of live application. It would be great if you can once check IAP of your application in iTunes with that in code.
Is there any way i can test in app purchases without sandbox. I want to know what happens for in app purchases that are not reviewed by apple team. I can retrieve it properly on sandbox environment.
It is not possible to test the in App purchase without sandbox. You need to create test account for testing.
In order to go live in app store your In-app purchases must be reviewed by apple.
We have a group of beta testers for iPhone app. Recently, we added in-app purchases to the app.
Before this, we would send out ad hoc builds to beta testers using a separate bundle ID and name so that they could have the store build and the ad hoc build on their phones.
However, it seems like we have to build the ad hoc copy with the same Bundle ID to test in-app purchases, and this means we can't send out a seperate beta copy - our beta file (annoyingly) overwrites the user's store-bought app.
Is there any way to test in-app purchases in a different bundle ID? Do I need to set up fake, test in-app purchases for the test build too?
I'm pretty certain you do-upload to ITC and then reject the binary.
I think if you change the binary's product name it will install as two separate apps, but I'm not certain on this.
So you itunes one will be foo and your dev one could be foobeta