Can't sign out of non existing sandbox account iOS 13.4 - ios

I deleted on App Store Connect an old sandbox tester account xxx+yyy#zzz.com that was used for testing in app purchases and created a new one instead.
When trying to run my app on a device, I see this native dialog:
The only password that works is the one of the deleted account.
On the device's settings (iOS 13.4), under iTunes & App Stores, SANDBOX ACCOUNT is the NEW sandbox tester account.
I can't seem to sign out from the deleted account and use the new one for testing in app purchases.

This could indicate that you have unfinshed transations in your payment queue. Try if looping in paymentQueue(_, updatedTransactions:) through all transactions and calling finishTransaction() on them fixes your problem.

Related

Apple In App purchase with sandBox gets an error as “Your account has been disabled in the App Store and iTunes”

An iOS App has given for testing in TestFlight for testing In-App purchase
It used to test using the sandBox account, but now it's not working with sandBox and gets an error as “Your account has been disabled in the App Store and iTunes”.
Rechecked the product creation and checked the same - it's not worked.
Then created a new sandbox account and tried the same - its not worked, showed the same error.
Checked the issues in the web and from the related answers, tried to remove the account details from Settings --> iTunes & App Store - its not worked, showed the same error.
TestFlight users don't require a sandbox account, but they will test against an automatically created sandbox account.
This means it's no longer necessary to create test accounts in iTunes Connect.
Your TestFlight user is a legitimate App Store user, but doing in-app purchases made with beta builds are free within the context of the beta version.
More details available in the following section Testing in-app purchases with TestFlight by Marko Kruustük.

Removing sandbox accounts from tvOS 13

I have been developing a tvOS app that uses in-app purchasing. As part of the development process, the app must be tested using iTunes sandbox user accounts. When beginning the in-app purchase using a local build, the user is prompted for the account credentials to one of these sandbox accounts.
The problem arises with tvOS 13, which does not appear to let you log out from or remove a sandbox account from the device once entered. While this might be okay for purchasing a single time, going through the purchase process again requires a new sandbox account, since otherwise, the purchase would be treated as a renewal rather than a new purchase.
Has anyone figured out a way to log out of a sandbox account with an Apple TV running tvOS 13? The only workaround I have found is to perform a reset on the device and go through the setup process again costing a great deal of time.
tvOS 13.4 (17L256) contains an update that allows you to sign out of the Sandbox account.
Settings > Users and Accounts > Scroll down to Sandbox Account > click on the email address > click Delete in the confirmation dialog > you're signed out 🎉
There is no way to log out on 13 OS . If you want to make a new purchase, just make sure you are logged out from AppleID (not sandbox). then if you make a new purchase within the app it will pop up to enter sandbox and will automatically replace old Sandbox with the new one

iOS restores in-app purchase although no iTunes account is logged in

One of my iOS apps has been in the App Store for years, offering different non-consumable in-app purchase items.
Currently I am working on adding some new consumable items as well. Since the simulator does not support test purchasing I am running the test on my real device:
The device is running iOS 12. Within the system settings I have logged our from my real iTunes account and rebooted the device.
In AppStoreConnect I have created a new test user / iTunes Account and activated it
After installing the new app version on the device using Xcode 10 I started the process to restore previous purchases using [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]
I expected that iOS would present an App Store login where I could use the credentials of the new test account. Instead paymentQueue:updatedTransactions: is called with different transactions in SKPaymentTransactionStateRestored state. I assume that these are the real transactions I made with my real App Store account some time ago.
How is this possible when being logged out from iTunes/App Store?
The result is the same, even when I login to the test account within the system settings, reboot the device run the restore process than.
Why are the transactions of my real account are restores while being logged in with another account (the test account)?
What can I do do force iOS to log out from my real account and use the test account instead?
Check Settings->iTunes & App Stores -> Scroll Down
here is SANDBOX ACCOUNT log out sandbox account too and everything will work

Apple Pay sandbox tester not able to login into device iOS 10

I'm not able to login into my new iPhone 6s(iOS 10.0.1) with this sandbox account for testing apple way. While able to login into web icloud, itunes and tested on my old iPhone 6+(iOS 10 beta 5).
Everytime try to login into iPhone 6s(iOS 10.0.1) I got this error message.
iTunes account creation not allowed
This apple ID cannot be used with the iTunes Stores at this time. Please try again.
Help me what to do, is this bug from Apple side
I have tried this many time. And getting same thing as you described. At last i were able to add test credit card for testing apple pay by following these steps:
Log out from your itunes and app store
Log out from iCloud
Change your region(Settings->general->Language and Region) to country which supports Apple pay
Now open Wallet app
You will be asked to login to iCloud account.
Login with your Sandbox Tester account
Now add Test credit cards to your account.
To get test credit cards details: You can check the cards details shown in this document: https://developer.apple.com/support/apple-pay-sandbox/
Note: When you add test credit cards, some credit cards detail might get failed in verification, then you have to try another one, Luckily you will be able to add after 3-4 tries.
You can't login to iTunes with a Sandbox account.
If you mistakenly use a sandbox tester account to log in to a production environment, like iTunes, on your test device instead of your test environment, the sandbox account becomes invalid and can’t be used again. If this happens, create a new sandbox tester account with a new email address.

You are not authorized to make purchases of this InApp in Sandbox at this time

I'm trying to make in-app (non-consumable) in my app.
I'm trying to buy the package but I can't...
Of course, I've looked here for answer, but I have one actual account everywhere - at developer.apple.com - also I've created provisioning profiles, at itunesconnect.apple.com and in Xcode as well...
My bundle identifier is the same across the all websites and application.
The Application finds my package and show me the price of it. When I click on BUY the alert view show the text:
You are not authorized to make purchases of this InApp in Sandbox at this time.
[Environment: Sandbox]
Any ideas please?
You can use In-App purchase test users, to test In-App purchase in sandbox mode.
Create test users in the "Users and Access" section of appstoreconnect.apple.com
Before testing In-App purchase, Using the Settings app, logout your actual Apple ID and login the test user account directly via your app. (DON'T login the test user via Settings app or AppStore.)
They used to have the real iTunes login and the Sandbox iTunes login grouped back in 2017. So you would sign in to your Sandbox account while testing purchases in the app, and then it would change your iTunes login as well. Then you'd have to sign out of your iTunes through settings. Now they have a separate field on the bottom of the Settings --> Itunes & App Stores screen (called "Sandbox Account"). You have to sign in there with a provisioned Sandbox account which is added in "Users & Access" in App Store Connect. (You have to also verify that email address, and it can not use a +postfix on the email address, IF that email is used as one of your non-sandbox main accounts... Sigh...) So you have to actually create new unique emails now that are not used as part of your main accounts. (From my understanding you can still use +postfixes on your emails which are only used for sandbox accounts though :)
Now, there's still a bug with purchases where If you are not signed in with your main Itunes account, OR your sandbox account, and you try to test purchases by typing in a sandbox account (in the app), it will keep asking you for your Sandbox Email / Password over and over again, Until you type in your REAL iTunes account as well (????). That works (typing in both the sandbox account and the real itunes account). Then the sandbox purchase goes through. I'm as surprised as you are...
If your apple account has a sandbox account user, after logging in with your account, follow these steps
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.
First create a new account on sandbox which is on iTunes -> Users and access -> on left hand side click on sandbox and add account on it.
And then go to your testing device
Sign out previous id from Sandbox Account and click to add a new sandbox id which have added on Sandbox tester.
Thank you!
I have multiple Apple development organizations associated to my account on App Store Connect. The reason I was getting this error was because my Sandbox Tester was created in an organization that wasn't associated with the app I was testing.
I swear the organization was right when I was adding the Sandbox user, but I can't be sure. It never hurts to refresh App Store Connect an extra time and double check the Sandbox Tester is in the correct organization.
I had this issue as well when I accidentally tried to make an in app purchase on our TestFlight app using sandbox account credentials created in the App Store connect Sandbox Testers section. So if you are experiencing this issue just make sure you are using sandbox account credentials for your dev or staging apps. With the TestFlight app version you should use your real Apple ID credentials (you won't be charged of course as TestFlight still uses the Sandbox environment for in-app purchases).
For more information checkout https://developer.apple.com/documentation/storekit/original_api_for_in-app_purchase/testing_at_all_stages_of_development_with_xcode_and_sandbox
https://developer.apple.com/documentation/storekit/in-app_purchase/testing_in-app_purchases_with_sandbox
Try this check-list
Create test user #App Store Connect > "Users and Access" section. (Apple Doc - https://help.apple.com/app-store-connect/#/dev8b997bee1)
Logout older sandbox id from App Store & login new sandbox id, here is the steps for iOS & macOS
iOS: Open "Settings" > "App Store" > "SANDBOX ACCOUNT" (will be at bottom of screen)
macOS: Open "App Store" app > "Preferences.." > "Sandbox Account" section will be at bottom
First,make sure the account of your in test app is right.
Second,when you are working in the app,click the recharge button,and input the right account for testing.

Resources