Steps for Testflight to test an in app purchase on IOS? - ios

I cannot work out nor find up-to-date documentation that shows how to test in-app purchases on IOS using Testflight.
As far as I understand the use of Testflight negates the need for sandbox users. Testers can use their normal iTunes account details - correct?
I have enabled In-App Purchases for the app in the Developer Console.
I have uploaded In-App Purchases to iTunes Connect via Application Loader
The IAP are showing status 'Ready to submit'
The app itself is showing as 'prepare for submission' - it is way off submission yet, I'm just trying to test functionality.
The ID's of the IAP match those in the app code.
Is there anything else I need to do in iTunes Connect to get them working in Testflight builds?

Related

ionic ios app with in-app purchase - how to test in-app consumable product before first submission of the app and product

Building an ionic 3 app and want to add in-app purchases for iOS. But can't seem to be able to test the in-app purchase products.
I integrated with both Native in app purchase plugins from the Ionic Native documentation website
In App Purchase and In App Purchase 2 i am not able to test any of the products. i always get the error that the "Unknown product identifier".
(NOTE: this works ok with Google Play in-app purchases)
Important : this is pre any submission of the app with in-app purchases to the App Store (however the app has been approved before and is published in the App Store).
I already have an in-app purchase product created in App Store Connect that is "cleared for sale" and "ready for submission".
also - i have checked the following:
Paid Applications contract in iTunes is signed
in-app purchase capability in Xcode is turned on (i run ionic cordova prepare ios and opened the workspace in Xcode)
App ID in the Identifiers section of developer.apple.com page exists and has In-App Purchase Enabled for both Dev and Distribution
created Sandbox user for testing
All the above being considered i tried building both in Debug and Release mode - with iOS App Development profile and App Store or Ad Hoc distribution profiles and deployed to a trusted device and always get that same error when i try to purchase the product "Unknown product identifier".
Is there something i am missing - is there something i need to do for the build, or set-up on the profiles. Or does it have to do with the in-app purchase product not being approved yet (although i can't submit the product without submitting a new build with in-app purchases and the new build is not good because i can't test the product - kind of the egg and the chicken problem).
Any help and/or pointers would be appreciated, as i ran out of ideas.

ios in app purchase submit rejected

I uploaded my application to App Store which is written in Java(LibGDX Game framework), compiled/converted with Intel MOE.
In application there is a store(uses Gdx-Pay 3rd party framework) which users can buy stars(which is consumable), and everything works fine with IAP system.
Today they reviewed my application and said
We are unable to complete the review of your app because one or more
of your in-app purchase products have not been submitted for review.
Next Steps
To resolve this issue, please be sure to take action and submit your
in-app purchases and upload a new binary in iTunes Connect. Learn more
about how to offer in-app purchases in iTunes Connect Developer Help.
Once you've submitted your in-app purchases and uploaded a new binary,
we can proceed with your review.
I sent them store and purchasing images using TestFlight and result is :
The IAPs are present in the app but need to be submitted in the binary
as Well for approval.
I am not sure what are they asking for, I created whole game with Java and can not change anything.

In app purchase is not working after release but it was working in sandbox mode

Reject from Apple for In APP Purchase
During development in app purchase auto-renewing subscription, I've created test accounts which are able to obtain the product of the in app purchase as well as actually purchasing it without an issue. I've submitted the version to the testFlight Beta and testing in app purchase as well as purchasing it with test accounts works well at sandbox mode environment. However after submitted to the IOS version app to the Apple review, the version of the app can't even retrieve the product, and nothing shows up when I press the button to send the purchase request.
IAP is attached to the binary and IAP is approved with the binary that i submit. But its not displaying in the production. In sandbox its listing fine.
Please tell me how you solved this problem?
Or is this factor not decisive and the application will not be rejected for this reason?

iOS - In-app purchases and beta testing

I am about to test my app with my external testers. I will give them a sandbox account to test my in-app purchases. My in-app purchases are hosted with Apple.
My question is, after the testing finishes, I disable app testing in iTunesConnect, I submit my app to Apple, and my app becomes available on the App Store. My testers download my app from App Store. Will the in-app purchases they tested still be there? Will installation from App Store act as a app update?
I tried disabling app testing in iTunesConnnect just now by making it "Not available for testing" and I'm still able to use my app, and test in-app purchases.
If I can't disable my app from testing then testers will get all my in-app purchases that they test for free?
Am I missing something? Can I disable app testing completely?
The app in testflight will last for 30 days from the day of download. After that the app will not be available.
The live version is different and will be needed to be downloaded separately from the app store. It will be a unique application compared your beta app. It would be treated as a fresh install.
Will the in-app purchases they tested still be there?
No
Will installation from App Store act as a app update?
No
will [users] get all my in-app purchases that they test for free?
No
Can I disable app testing completely?
You already have. App will not be available for download. However you cannot remove apps that are already installed. Existing app will last until expiry date.
More info here

How to test In App Purchases through Apple TestFlight?

I uploaded my first app to iTunes Connect (iOS 8, iPhone) and it's now available through Apple TestFlight for internal and external testers.
I created a Non-Consumable in app purchase for it and would like to test it. How can I add it to my beta app?
I'm getting this message in iTunes Connect:
Your first In-App Purchase must be submitted with a new app version. Select it from the In-App Purchase section in Version Details
and click Submit.
You do not currently have a iOS Paid Apps contract in effect. If this In-App Purchase was submitted with your app, then your app will
not be available on the App Store until your contract goes into
effect. Legal, Admin, and Finance users can go to the Agreements, Tax,
and Banking module in iTunes Connect to view your contract status.
TestFlight users don't require a sandbox account, but they will test against an automatically created sandbox account.
Sandbox Accounts
The moment a tester opens your application, a sandbox
account is created for them. This means it's no longer necessary to
create test accounts in iTunes Connect. Testing In-App Purchases was
never easier.
Source
Note that your TestFlight user is a legitimate App Store user. That user will be purchasing, restoring, etc. from the IAP in the Sandbox as opposed to the real IAP.
On iTunes Connect, the IAP can be "Approved" or "Ready to Submit" (or any other status, I think).
English
Testers - TestFlight - Apple Developer
Each build is available to test for up to 90 days, starting from the
day the developer uploads their build. You can see how many days you
have left for testing in the app’s details page in TestFlight.
TestFlight will notify you each time a new build is available and will
include instructions on what you need to test.
All in-app purchases are free during the testing period.
中文
测试员 - TestFlight - Apple Developer
从开发者上传的那一天起,每个构建版本可被测试长达 90 天。您可以在 TestFlight 的 app 详细信息页面上查看可供测试的剩余天数。
在测试期间,所有 App 内购买项目都是免费的.
you can test in-app purchase with test account.
go to itunes connect -> Users and Roles --> Sandbox Testers
then create an account for testing your in app purchase.
when test in app purchase try to logout from app store which uses your real account. then it will ask for itunes account while in testing in app purchase then enter your test account credentials.
Testing IAP is going to require a test user that you create under iTunes connect. Plus code in you app to implement IAP. Then to test it you "purchase" the item from within the app, under the sandbox, using that user id.
As far as I know TestFlight is no different than testing the IAP on your device by building directly to your device.
I'm assuming that you didn't just add the IAP bundle id and expect it to do something.
If you have not added code to support IAP, that answer is non-trivial within the scope of a SE answer. Google IAP tutorial. There are lots of good ones out there.

Resources