For in-app purchases in iOS is there any limit on number of subscriptions(in same group for same app) that can be made from a single itunes account? If there is more than one subscription how to distinguish them on server side?
Related
I'm coding a mobile app (React Native) and using library react-native-iap to handle In-App Purchase logic for IOS device.
My question is: How to stop renew and delete current subscription when user delete their account?
I'm using Sandbox Tester on AppStoreConnect for In-App Purchase testing.
We have an auto-renewable subscription that we want to share across our iOS(iphone/ipad) and tvOS apps. I suppose I have two questions:
Can we use the same product identifier across both iOS and tvOS?
If the answer to 1 is yes, how does a user who purchased a subscription on one platform receive it on another platform? We have no unique identifier for the user across the two platforms other than that they are using the same iTunes account. Does the user have to manually restore the purchase?
https://developer.apple.com/support/universal-purchase/ states that you can share in app purchases between ios and tvos
To distribute your iOS app and tvOS app together with a universal purchase, both apps need to use the same app record in iTunes Connect. You can create a new app for both iOS and tvOS using the same app record or add a platform to your existing app record. The iOS app and tvOS app share the same bundle ID but must have their own version in the app record and must be uploaded separately.
You will need to have the user restore their in-app purchases on the other device.
To make an In-App Purchase available on both platforms, you’ll need to implement the same In-App Purchase in both versions of your app. After you’ve enabled your app for universal purchase in My Apps on iTunes Connect, customers can restore your In-App Purchases on both platforms.
e.g. The user purchase a subscription on their iPhone and they can consume the content immediately. They then open the app on their Apple TV, but the content is not available until they restore their purchases. Once restored their content is available.
I'm working on an iOS 8 app and saw that it's possible to release an universal app for iPhone and iPad.
If you use non-consumable in-app purchases for an universal app, do users need to buy them only once and can use them on both devices or do they need to purchase them for iPhone and iPad?
Non-consumable products are purchased once by users and do not expire or decrease with use. For example, new race tracks for a game could be implemented as non-consumable products.
Means: If you used same iTune account credential then you can download as free.
Apple Developer
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.
The Getting started with In-App Purchase on iOS and OS X (published February 3, 2014) document in "Restoring Previous Completed Purchases" specifies that non-renewing purchases must be transferred to other devices.
In-App Purchase Type: Non-Renewing Subscriptions
Restore Required?: Yes
Transaction Restoration Mechanism: Use iCloud or your own server to track purchases and allow user to restore purchased subscriptions to all iOS devices owned by a single user
Technical Note 4009, iTunes Store: About In-App Purchases (published July 29, 2014) in "Transfer an In-App Purchase" specifies that this is not allowed.
You can't sync or transfer non-renewing subscriptions and consumable In-App Purchase to another iOS device or Mac.
Which one is correct?
Your app must allow the transfer/restore of in app purchase to other devices. Your app will be rejected if not. We have apps that transfers its purchases to other iOS devices
Recently my app got rejected because it was having Non-Renewing Subscription with restore button. They rejected the app saying my app supports iOS6 to iOS 8 and validating a receipt was not possible in iOS6 so app should have an optional registration feature so a user can access subscription through other devices also.
I think removing support of iOS6 from the app will resolve my issue, so I am also looking for a suitable way because creating registration process is again a lengthy task.
App Rejection on Restoring Non-Renewable subscription on iOS 6 app