Search code examples
iosin-app-purchasetestflightappstore-sandboxstorekit2

How to check StoreKit 2 actual transaction on TestFlight?


I have consumable purchase in app where user can buy 100 tokens in $2 anytime. I want to test this with actual transaction in that way the money should be deducted from account while testing on TestFlight.

I have done some research and got to know that on TestFlight, you can use sandbox apple id and test transactions but it will not be charged. But there is no documentation from Apple for actual charge. What if I use apple id that is not sandbox account? Will it get charged on TestFlight build?

I want to just be sure that receipt validation and payment is working seamlessly before app goes on production.


Solution

  • AFAIK, there is no way to make a real payment unless your app is published on the App Store.

    What if I use apple id that is not sandbox account?

    You won't be charged even with the real Apple ID on Testflight's build.

    enter image description here

    In short, if you're able to get the product info (via product identifier) and then be able to make a payment in Sandbox with case .verified, you're good to go and believe in Apple.

    Just in case you don't notice, there is a StoreKit Configuration File to mock all available states for testing purposes.