In-App Purchase

RSS for tag

Offer extra content, digital goods, and features directly within your app using in-app purchases.

In-App Purchase Documentation

Posts under In-App Purchase tag

553 Posts
Sort by:
Post not yet marked as solved
2 Replies
216 Views
Hi I'm working on IAP for my app, with all products being consumables. If I use App Store Server Notifications, will I get updates on the payment status (successful, failed, pending, etc.) of my products? I've worked on Android IAP, which provides such updates via subscriptions on Google Cloud Console. Does App Store Server Notifications work the same? The reason I need this is for the cases where the payment is slow, interrupted or any other potential issues.
Posted
by nmtuan14.
Last updated
.
Post not yet marked as solved
1 Replies
291 Views
We have been using the In-app-purchase API to manage Apple Store product prices, but since April 11, 2024, it started showing anomalies. For example, we would use this API to fetch the manually set prices for current products: https://developer.apple.com/documentation/appstoreconnectapi/read_price_information_for_an_in-app_purchase_price_schedule The URI with query and filter conditions is as follows: https://api.appstoreconnect.apple.com/v1/inAppPurchasePriceSchedules/product_id/manualPrices?fields[inAppPurchasePricePoints]=customerPrice,priceTier,proceeds,territory&fields[inAppPurchasePrices]=endDate,inAppPurchasePricePoint,manual,startDate,territory&include=inAppPurchasePricePoint,territory&fields[territories]=currency It was running normally at first, but after April 11, we started encountering an error: {"errors": [{"id": "e193b752-3012-49db-8b0e-1d08c8980b77","status": "400","code": "PARAMETER_ERROR.INVALID","title": "A parameter has an invalid value","detail": "'priceTier' is not a valid field name","source": {"parameter": "fields[inAppPurchasePricePoints]"}}] This is strange as there have been no similar cases reported online, and there are no mentions in the API documentation and update records either. Please help us check what the issue might be. Thanks!
Posted
by John-Pai.
Last updated
.
Post not yet marked as solved
0 Replies
202 Views
We have the system for which we want to create an iOS app. It is book app and we are not sure if that system of purchase will be approved from Apple Store review team. App is a multi-platform (Windows, Android, and macOS outside the Apple Store) and people currently buy license codes that unlock the full data. They buy it from the main website and from independent resellers. Because the app is multi-platform, according to 3.1.3.b (Apple in-App purchase), the iOS version allows users to access the content that they bought for other platforms (Windows, Android, macOS). This is done by giving the option to enter the license code in the EE9 registration sheet in the app. The iOS app however does NOT let you buy license codes elsewhere, and does not tell users where to buy them. People can only enter the code if they already have it, and no additional information is given on where and how to buy that outside if in-app. If you don't already have a license code, the only way to buy it is to use in-app purchases. After a successful in-app purchase, the iOS app uses the in-app purchase system to give full data access to the user, but at the same time it also generates a license code that the user can use in the Windows or Android or macOS versions to get the full data there as well. (After a successful purchase the iOS app uses an API on our backend server, sending it the in-app purchase code, and the backend server "trusts" the iOS app and returns a license code to the app. The app shows the code to the user, and the user can use it on Windows, Android, etc.. If the iOS app is uninstalled and installed again, the system will still work, because our server has associated the in-app purchase code with the app proprietary code system, so whenever required, our server will return the same license code associated to the same in-app purchase code. In summary, the iOS app allows license owners from other platform to use their code in the iOS app as well, but new users can only buy the license via in-app purchase. And when users buy the license from Apple, they can use it on all other platform as well. The end result is that the same license code will give you full access on all platforms, regardless of which platform you originally bought the code for.
Posted
by nikolayu.
Last updated
.
Post not yet marked as solved
0 Replies
236 Views
Hello everyone, I am developing a parking app where users can find and pay for parking. Instead of directly paying with real money, users can reload their points or stars balance and then pay with that virtual money. Would using Apple's IAP be compulsory or can I integrate my third-party payment system within the app? If not, what if I direct the user to a website? Thank you!
Posted
by mubin.
Last updated
.
Post not yet marked as solved
0 Replies
184 Views
Hey everyone, My app was just rejected with the follow reason: "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." However, _my app does not have any IAP. _ Apple notes that: To resolve this issue, please be sure to take action and submit your in-app purchases and upload a new binary in App Store Connect so we can proceed with our review. What should I do? Would submitting a fresh new meta data file rectify this? I'm not sure what to do.
Posted
by rbalbi44.
Last updated
.
Post not yet marked as solved
0 Replies
242 Views
I can't find any clear information on this: how can I test offers for active subscription plan without affecting the real users? I have an cleared for sale in-app subscription plan. I want to create introductory offer for it. I had read official document, and I don't understand how to test my new offers. Since my plan is already active, if I set the intro offer with a start date the current date, then it will affect my real users. But if I set the intro offer to start from the future, then the system Apple dialog that shows the price actually shows (and buys) the regular price.
Posted
by dxPred.
Last updated
.
Post not yet marked as solved
0 Replies
395 Views
Hi, I have a 12 months subscription which I generated some offer codes for. I generated 25000 of them manually in App Store Connect (One-Time Use Codes). I want to send those codes to users by push notifications and I need to show the final price when the code will be applied. The problem is that I use the native sheet, which only shows the price after the user entered the code. Is there an API that I can hook into to retrieve that price? Otherwise, the best I could do would be to calculate ActualPrice * Discount (because I know the discount since I created the codes), but I am afraid it will not be accurate enough, because it is not possible to select price for offer codes with that precision.
Posted Last updated
.
Post not yet marked as solved
0 Replies
246 Views
I created a Bible app, and I am wondering if I am able to use In App Purchases to give users the opportunity to pay to sponsor a verse, within the app and their name would be be displayed in the app next to the verse they sponsored. I am willing to pay fee to Apple so do not insist register this one as donation. I think I am going to users buy sponsor points and let users to see table with user name and sponsor points they bought who has purchased sponsor item once at least. Is this possible under Apple's Guidance with In App Purchase?
Posted Last updated
.
Post not yet marked as solved
0 Replies
273 Views
I created a Bible app, and I am wondering if I am able to use In App Purchases to give users the opportunity to pay to sponsor a verse, within the app and their name would be be displayed in the app next to the verse they sponsored. Is that going against Apples Guidelines?
Posted
by sf2310.
Last updated
.
Post not yet marked as solved
0 Replies
182 Views
There is a member type which pays for the subscription and then adds contacts who use the apps for a period of 1 month. These contacts added need not pay anything to use the apps. They are free and just use a refer code to signup. This is a health and wellness apps that promotes wellbeing, counts steps and walking over the period of 1 month. Its not a digital product like ebooks etc So do i need to add IAP ?
Posted
by mbkol.
Last updated
.
Post not yet marked as solved
1 Replies
187 Views
I would like to inquire about the behavior of auto-renewable subscription products after their distribution has been discontinued. My understanding is that there will be no further renewals after the distribution has been stopped, but can users still restore their access if they are within the subscription period?
Posted
by hirok0313.
Last updated
.
Post not yet marked as solved
2 Replies
207 Views
I would like to confirm the behavior of auto-renewable subscription products when their distribution is discontinued. I have noticed that billing still occurs in the sandbox environment even after distribution has been stopped. Obviously, I cannot stop the distribution of a live product, so I am conducting tests using a test product. I suspect that the issue might be due to the test product's status being set to "Ready to Submit," but I'm not certain. Could you please advise on how I should proceed to confirm this?
Posted
by hirok0313.
Last updated
.
Post not yet marked as solved
3 Replies
216 Views
Hello, I have an app that has 2 consumable in app purchase, and now I added a 3rd non-consumable purchase which removes the ads. My problem is that they rejected the build and the ad removal in app purchase as well multiple times because of this in app purchase. Sometimes the problem was that the in app purchases wasn't loaded for them, but now they problem is network errors. With the rejection they sent my screenshots. Once they got a network error saying: The request timed out. Another time they got another network error saying: The network connection was lost. For me it works perfectly every time on my iPhone and iPad. On the main screen so when the app starts I check internet connection and then fetch in app purchases. .task { adatok.InternetEllenorzes() await adatok.fetchApponbeluliVasarlasok() } Then in the main menu when you click on the store button I check the internet property that was set to true if there's is internet connection. If there's no internet an alert appears saying no internet. and if there was no internet when you launched the app but then you suddenly got internet after then the fetch runs again before navigate to the shop(in app purchase view). So by the time you're in the shop view the fetch must run. Now here's the purchasing part: purchase: func Vasarlas(termek: Product) async { do { print("itt várakozás van hogy jó e vagy nem") vasarlasFolyamatban = true // teszt let vasarlasEredmenye = try await termek.purchase() switch vasarlasEredmenye { case .success(let verificationResult): print("A vásárlás sikeresen végigment") switch verificationResult { case .verified(let transaction): VasarlasAllapotEllenorzes() await transaction.finish() print("tényleg megvette van blokk") switch termek.id { case "A_tudatlansag_ara_betuVasarlas": BetuVasarlas() megvasaroltBetuk += 1 VasarlasSzamMentese() print("sikeres betű vásárlás") vasarlasFolyamatban = false case "A_tudatlansag_ara_teljesVerzioV2": megvettemAReklamMentesseget = true print("sikeres reklámmentesség vásárlás") vasarlasFolyamatban = false reklamMutatva = false case "A_tudatlansag_ara_UjEsely": if aktualisJatekMod == .egyjatekos { UjEsely() } else { TobbjatekosUjEsely() } megvasaroltUjEselyek += 1 VasarlasSzamMentese() print("sikeres új esély vásárlás") vasarlasFolyamatban = false default: return } vasarlasFolyamatban = false boltMutatasa = false hibauzenet = nil sikeresVasarlas = true sikeresVasarlasok.append(termek) break case .unverified(_, let hiba): print("A vásárlás sikeres de mivel nincs blokkk nincs megerősítve: \(hiba.localizedDescription)") vasarlasFolyamatban = false boltMutatasa = false hibauzenet = nil break } case .userCancelled: hibaCim = "Vásárlás hiba" if boltMutatasa { hibauzenet = "A vásárlás megszakítva" boltHibaMegjelenites = true vasarlasFolyamatban = false } else { vasarlasFolyamatban = false hibauzenet = "A vásárlás megszakítva" boltHibaMegjelenites = true } break case .pending: print("a vásárlás folyamatban") break @unknown default: vasarlasFolyamatban = false hibauzenet = "Ismeretlen hiba történt" boltHibaMegjelenites = true break } } catch { hibaCim = "Hálózati hiba cim" hibauzenet = error.localizedDescription boltHibaMegjelenites = true vasarlasFolyamatban = false } } And here's the purchase check: func VasarlasAllapotEllenorzes() { Task { for await VerificationResult in Transaction.updates { switch VerificationResult { case .verified(let vasarlas): print("sikeres vásárlás: \(vasarlas.signedDate)") await vasarlas.finish() vasarlasFolyamatban = false case .unverified(_, _): print("Hiba történt a vásásrlás közben)") boltHibaMegjelenites = true vasarlasFolyamatban = false } } } } Anyone got any suggestion why it runs perfectly for me on 2 different device but the review team can't get it working? Is there a problem with the code or the problem is on the side? I even asked them because in the screenshots they sent, which I show here doesn't show any network icon no wifi or cellular in the notification area, so I asked them if they have a network connection but they said they did not experience any network issues during the review.
Posted
by Aniko93.
Last updated
.
Post not yet marked as solved
2 Replies
201 Views
iOS development, consumption application. For example, a user recharges gold coins after purchasing a product, and then maliciously applies for a refund after using the gold coins. How can we prevent this situation?
Posted
by kuwogv.
Last updated
.
Post not yet marked as solved
1 Replies
288 Views
Hi everyone, is it possible to launch my app for free first and then convert it to freemium with in-app purchases? Since I currently have very little content in my app, I want to focus on releasing it for free and collecting user feedback first. Afterwards, I want to convert it to freemium. Is there such a possibility?
Posted
by sloutales.
Last updated
.
Post not yet marked as solved
1 Replies
255 Views
Hi, For a user who subscribed a product via In-App Purchase, how does the application backend know that the user is still subscribed? The initial purchase happens on the mobile app. Via receiving and validating the receipt of initial purchase, the backend of mobile app would be informed. However, what is the appropriate option for the subsequent subscription payments? How do I know whether the user is still paying? Thanks.
Posted
by selbe.
Last updated
.
Post not yet marked as solved
1 Replies
375 Views
Does anyone have the link to a keynote where someone from Apple speaks about or explains non-renewing subscriptions in detail? I know what non-renewing subscriptions are, they are basically an in-app purchase with an expiry date. However, I want to better understand why I need to be the one that builds in the expire functionality in the app and why I need to handle things like how it should work if the user buys a new device before the period is over for example. Why can't Apple handle this stuff?
Posted
by Filip27.
Last updated
.