We’ve updated our Terms of Use to reflect our new entity name and address. You can review the changes here.
We’ve updated our Terms of Use. You can review the changes here.

In app purchase apple fee

by Main page

about

Designer News

Click here: => irunvorhaa.fastdownloadcloud.ru/dt?s=YToyOntzOjc6InJlZmVyZXIiO3M6MzA6Imh0dHA6Ly9iYW5kY2FtcC5jb21fZHRfcG9zdGVyLyI7czozOiJrZXkiO3M6MjU6IkluIGFwcCBwdXJjaGFzZSBhcHBsZSBmZWUiO30=


I assume if a truly important app were affected by this, like Clash of Clans or Kim Kardashian's app, then Apple would have noticed the problem and fixed it in a lot less than a week. But Apple now has its Apple Music service, its iBooks store, and is constantly rumored to be interested in streaming video as opposed to the current iTunes on-demand service.

If so, please send me the bug report number. Apple disclaims any and all liability for the acts, omissions and conduct of any third parties in connection with or related to your use of the site. So can you do about this?

Apple’s In-App Purchase Policy Should Put Customers First

We have had many users reporting that they have paid for our product via in-app purchase but we have failed to unlock the content. The common denominator between these reports is iOS 9. We have offered IAP for years and haven't experienced this issue until now. We have found that the issue occurs when the customer is prompted to update their App Store payment information during the IAP process. This takes them out of our app. Then upon returning, the content is still locked. I was also able to replicate this by purchasing our product with a store build. The Apple staff member in this related forum indicates that the transaction will move to the a SKPaymentTransactionStateFailed when the user is directed out of the app to update their payment information. After updating their information, a SKPaymentTransactionStatePurchased is received. That forum suggests that finishTransaction should be called on the failed transaction. Then, finishTransaction should be called again after SKPaymentTransactionStatePurchased is received and the content is unlocked. This is what we have been doing for a long time but this doesn't appear to be working with iOS 9. It seems that we are only getting a call for the change to SKPaymentTransactionStateFailed but not for a subsequent SKPaymentTransactionStatePurchased. Also, is it correct to call finishTransaction after SKPaymentTransactionStateFailed? If we do, will we still receive another delegate call for SKPaymentTransactionStatePurchased? Any help that can be offered would be appreciated. It is possible the user is sitting there without a transaction observer and StoreKit is patiently waiting for addTransactionObserver. Our observer is a singleton that persists through the entire app lifecycle. Since I posted this, I also replicated this issue with 2 popular apps in the app store not associated with our app I only tried 2. In-app purchase content didn't unlock although my iTunes account was charged. We are trying to determine if this a widespread bug in iOS 9 or if something has changed affecting certain apps. Almost exactly the same thing happened a little less than 2 years ago: Hopefully Apple will find and fix the problem soon. Of course, it is unlikely that Apple will ever acknowledge that the problem is happening, or that they have fixed it, since Apple is institutionally incapable of effectively communicating with developers. We have around half a dozen really angry customers who were charged but could not buy our In App Purchase items. Most all but 1 of the plaintiffs are on iOS 9. Before this, for over a year we never faced any issues regarding In App Purchases. We are receiving Transactions in the state SKPaymentTransactionStateFailed and are simply finishing them like we always used to, and like the apple documentation tells us to. Sadly, we never receive the transaction in the state SKPaymentTransactionStatePurchased even though the user has been charged. These are legit users and are sharing their credit card statements to prove their point. I'm wondering whether there is an issue with the update process after an initial transaction response has been initiated which in this case was the failedTransaction notification Do any of the production apps discussed here have a simple means to ask the user to refresh the receipt - a restore won't work since a restore only restores acknowledged transactions, but if the receipt is refreshed, the current purchase should appear in the application receipt. When I have time later today, I'm going to try and replicate this issue with the StoreKit profile active and submit my own bug report. The only time we trigger that is after we receive a SKPaymentTransactionStatePurchased notification. We can purchase another IAP to trigger that but I assume that will not include the lost purchase. We are submitting a build for Apple review. If adding an option to manually refresh the reciept, in the case of transaction failures, could potentially restore the missing transaction, we would consider including that to the build. If a second purchase attempt is made on a purchase which has not been completed, you should see the alert - to the effect that you've already purchased the item and do you want to access it again - depending on the purchase type. This would be a further indication that the StoreKit process was incomplete - which would be an additional bug report. I've been scratching my head trying to figure out why this problem happened. I tried to store the logs from function that handles SKPaymentTransactionStatePurchased, but I never get it from these failed purchase users. I'd like to replicate the problem with updating the payment information, but my credit card info is up to date. How can I force the app to get out from the app and update the payment information? Once there has been one failure, it appears that all future purchase attempts fail. For a particular product id, the user is charged for the first purchase attempt and shows in itunes purchase history , but not subsequent attempts. Trying a different product id likewise results in charging for the first attempt with it and not subsequent ones. In all of these failure cases, whether the user is charged or not, the app's purchase observer only gets a transaction in the SKPaymentTransactionStateFailed state, with code 0, on which we call finishTransaction. This behavior leads me to believe that somewhere in the system, the transaction is still in an unconsumed state, otherwise I would expect the user to be charged for the subsequent attempts of the same product id, since they are consumable products. I'm investigating this issue with iTC. In the meantime, I myself was able to replicate this problem with my production account using a third party app that offered an in app purchase to remove ad support. I've documented the problem extensively in the bug report. The issue appears to be that the expected process of handling incomplete transactions is not working in iOS 9. In the meantime, the initial purchase is failed - in case the user doesn't update their info. However if the credit card info is updated, the user is asked whether they still want to make the in app purchase. If they do, the purchase is made, but now it's considered an incomplete transaction waiting for the app to query for incomplete transactions. Now the user switches back to the app. The transactionObserver processes the failed transaction that was queued for processing. Under previous iOS, this worked and the app was immediately notified of the successfulTransaction with a call to the updatedTransactions delegate method. Under iOS 9, I'm not seeing the notification return the incomplete transaction. Because the transaction is incomplete, a call to restoreCompletedTransaction will not return the new transaction. The problem is how to complete the transaction. One thing I found was to attempt a second purchase of the item - this resulted in the dialog that told me that I'd already purchased the item and did I want to download the item for free. After doing this, the ad removal worked. When I deleted the app and re-installed it, the restoreCompletedTransaction call worked. I understand that this is a terrible workaround - however, I wouldn't be surprised if some users are in fact repurchasing the items to find that it works without a second charge. This becomes dicey for one app I reviewed where there are multiple in app purchases that are pricey. I continue to work with iTC to get this issue fixed. This is a breath of fresh air. If the StoreKit flow were easier possible? In short, it sounds like a serious regression in iOS 9 that Apple needs to fix. I would assume that as soon as this problem started occuring, iTunes Store support saw a spike in complaints and inquiries as we did , and that should have resulted in the responsible parties being aware of the problem in short order. Given that the problem involves people spending real money, I would assume that fixing such a bug would be a top priority. Instead, this has been going on for multiple weeks now. The Apple Developer News site does not have any posting about the fact that in-app purchases are pervasively broken, which seems to be at least as important as the notes concerning App Slicing being broken that are posted on that site: The Apple System Status page shows that there are no problems with the App Store: Instead, developers are left to search through forum posts, which often do not receive any official reply. Your presence in this thread is a welcome exception. Very poor form by Apple, here. Specifically, the user doesn't get a dialog that they've already purchased the item. We were hoping that doing a complete transaction refresh every time a user launches the app or fails a purchase via the appStoreReceiptURL might work around this problem, but have not yet tested it. I'm not sure whether or not we can even test this - if a client is running an ad-hoc build and we request receipt data from the app store url, will it include live purchase receipts, or only sandbox ones? Can you explain what you mean by that? Does it differ from a regular transaction that has not been delivered? Is there anything to do other than addTransactionObserver? Having an active transactionObserver should result in the app, when moving the app from the background, to the foreground, trigger the app to check for incomplete transactions - exactly the same action taken when the addTransactionObserver is called by the app when it is launched. We not received any issues in several days and many weeks-old, missing transactions are now being successfully processed. Thanks for your help with this issue. Note that these are 3 different situations and that if the problem does not exist in case 3 there is an easier work around. Has anyone else noticed the change? Additionally, we seem to be getting completed transactions NOW for transactions that were misisng from weeks ago. We have not deployed any updates in weeks so I do not believe this change is related to anything we have done. Their app is basically broken forever once it gets into this state. Both reports said something to the effect of having the payment method dialog show up where iTunes asks for the CVV or whatever, new expiration date, etc before the purchase. A receipt is actually generated and verify succeeds, but the receipt returned does not include any new transactions i. This is a serious issue causing lost revenue. Normal behavior: When a user has purchased one or more non-renewing subscriptions and their latest subscription expires, they can purchase it again. Completely consistent with the above normal behavior you wrote: Both reports said.... Can anyone confirm the following behavior for consumables? Another problem is, even if I force those older transactions to go through updatedTransactions, they seem to fail IAP verification because those transaction ids are no longer in the receipt. Anyone seeing this still or have a workaround? When an iAP app is brought to the foreground, the transactionObserver initiates a query to the StoreKit asking for incompleteTransactions. The StoreKit server responds and if there are incompleteTransactions, the updatedTransactions delegate method is called. The queue which you refer to here is on the StoreKit server. This would be a bug report for iTunes Connect to investigate. There's no StoreKit API to trigger this action - so far as I'm aware. I can assist you further with one on one investigation if you would submit for a DTS incident support. I will submit a report but will also reply here for others. This gives me no reliable way to verify them other than to just close the transaction. If not -ignore this. If that is so, I suspect it will not work and will cause all kinds of problems. A transaction should be finished ASAP. But that reuse of an unfinished transaction is indeed rare. If you keep the transaction in the unfinished state to continually prime your updatedTransaction method and refuse to call finishTransaction even though you got it then you will be requiring the user to log in each time they open your app and, even more exciting, you may end up sending that request to login to other apps on the same device when they add a transaction observer even if, and especially if, they are logged in to a different account on iTunes! Search this forum for 'the endless loop' if you want horror stories on what can happen with unfinished transactions. Use the receipt to verify the purchase - send it to Apple servers easy or decode it yourself hard. I just want to make sure any unfinished transactions will be able to go through my code path to a finished state. That involves going through updatedTransactions delegate and then verifying the receipt. IF there is an unfinished transaction when the app goes into the foreground, it asks for the store password I know this is correct behavior. But it doesn't call the updatedTransactions delegate automatically even though I've set the transaction observer. This is NOT correct behavior. I think this might be an iOS 9 bug? So I'm wondering if I can work around this by just calling it manually like so when the app goes into foreground. Problem 2 is that sometimes with the unfinished transactions, I don't see their transaction ids in the latest receipt. So this gives me no way to verify it which creates the 'endless loop' unless I hack in some code to finishTransaction. As for problem 2, transactionIDs are a iTC value. They are best associated with auto-renewing subscriptions but for other purchase types, we've not provided much information about them except as mentioned in the Receipt Validation Programming Guide. As for consumable purchase items, their presence in the application receipt requires some explanation. The StoreKit will record a consumable item in the application receipt so long as the consumable transaction is incomplete. So this sounds contrary to things I may have mentioned in the past. If you are already familiar with the following, forgive my explanation, but this is for new users who may not be so familiar with this process. So the user purchases a consumable item. The StoreKit processes the purchase and sends a notification to the app of the successful purchase. The presence of the consumable item is set in place in the app receipt because at the time the app is notified of the successful transaction, the consumable purchase item is an incompleteTransaction - the application has not acknowledged the transaction yet. The application receives the successful transaction indication in the updatedTransactions delegate method. The app processes the successful transaction indication and provides the purchased content to the user. Then the app makes the finishTransaction call to acknowledge receipt of the transaction to the StoreKit. The StoreKit sees this acknowledgment and marks the consumable purchase as completed. For the app, the application receipt is only updated when a transaction is processed or when the SKReceiptRefreshRequest is called. Following the successful transaction above, keep in mind that there has been no new transaction I'm assuming that seconds after making the consumable purchase there is no follow on purchase attempt so the application receipt should still show the consumable item in the application receipt. However, if the application makes the SKREceiptRefreshRequest at this time, the updated receipt will no longer show the consumable item in the application receipt; the consumable transaction has been acknowledged by the application so StoreKit removes the item from the receipt when next the receipt is updated. The same will occur when a new purchase is made. The user purchases the gold coins, the app receives the successful transaction notice and makes the coins available to the user. The app then calls finishTransaction on the consumable transaction. Now lets say that the user installs the app to a second device. The StoreKit erased the entry as the transaction was acknowledged. As per the StoreKit PG, restoring consumable purchases is by implementation of the app. The application does not call the delegate method itself. If there is an incompleteTransaction and the observer detects it, but the updatedTransactions delegate method is not called, that would be a bug. The evidence for this would require a console log with the StoreKit profile active. The log would show that transactionObserver queryiing the StoreKit for incompleteTransactions and the log would show that the StoreKit responded and the number of incompleteTransactions - the transaction information is encoded, as is all StoreKit info so such details are not possible to see in the log. Manually calling updatedTransactions is not a solution here - I suspect that my October 2 response could have been clearer, but that was not what I had in mind. It's an absolute nightmare for our support team as people are understandably upset that they aren't getting what they paid for. The issue certainly sounds like a bug report - as so many of you report seeing this issue. I'll provide additional comment if I can. INSTALL THE PROFILE 1. Restart the device to activate the profile. IMPORTANT - PLEASE RESTART THE DEVICE CAPTURE THE DEVICE CONSOLE LOG Start the capture before using the application. There are 2 methods to capture the console log macOS Console App macOS 10. Open the Consle App. In the log list picker, select your device. You can clear the console at th epoint you are ready to start the application. When finshed, use the save button to save the console log contents to file. To capture a log with Xcode, 1. As soon as the in app purchase failure occurs in the app, save the contents of the console. If the string is not found, then either the profile was not installed or the device was not restarted OR, the application did not make the SKProductsRequest call while the console log was being captured. Filing the bug report Go to the Apple Developer Bug Report web - Select the iTunesConnect product, version Other In the bug report include the application ID of the app describe the steps on how to find the in app purchase item describe the detailed steps to replicate the problem - this includes clearing the credit card information If a login is required, please describe that step as well. Include the console log saved from above as an enclosure to the bug report When you have saved the bug report, send me the bug report number and I'll see that the issue is passed the the correct group. I assume if a truly important app were affected by this, like Clash of Clans or Kim Kardashian's app, then Apple would have noticed the problem and fixed it in a lot less than a week. We are using non-renewing subscriptions, so I am wondering if it only affects non-renewing subscriptions. What kind of in-app purchase types are other people using? If so, please send me the bug report number. Anytime I ask the StoreKit engineering whether they are aware of a problem, they ask for a bug report so that they understand the issue. I suspect that you may have selected the iOS product group, as I can't see the contents. I've asked that the bug report be passed on to the proper team. I've also sent a PDF of this developer posting to the team so that they can see how many developers report being affected. I wrote up bug id 29980134 yesterday. I'm also filing a Technical Support Incident. This is a really bad issue that causes our customers to spend money and then not have a login to our app. I am surprised that Apple is not giving it higher priority, as it calls into question the reliability of the entire Apple in-app purchase process, and thus makes it less likely for people to give their money to Apple. We have auto-renewing subscriptions, FYI. If we hit him with tweets from 15 - 20 people in a short period of time, hopefully this issue will be fixed, both the immediate problem and the larger organizational issues. To find my tweet at Phil, go to my profile on Twitter jeffhunterx and look at my most recent tweets. Feel free to pile on. Sorry for the obtuseness, but if I include a link to Twitter, my posts don't seem to actually make it to this forum. Things have now been broken for a week and we're all getting flooded with justifyably angry customer complaints. It's really hard to believe that Apple wasn't aware of the problem on their own, since you'd think that iTunes Store customer support is probably getting a lot of tickets about this, too. Also, seemingly the exact same problem occured in September 2015 and again in December 2013, so you'd think someone would have put some tests in place to prevent this from happening again, or at least detect it. So either Apple has been unaware of a serious problem processing payments for a whole week, or they've known about it, and been unable to fix it within a week. Either way, like I said, it should be a massive embarrassment. We're talking about a bug affecting customer payments, not some minor bug like a rendering glitch. Oh, and of course there is no actual communication with developers about the problem. According to the Apple System Status page search for it on Google , there are no problems with the App Store right now, everything is fine! Our customers who were affected by this are now reporting that their transactions are going through. In some cases these transactions are up to a week old, so this is generating quite a bit of customer confusion we send an email when a user makes a purchase , but at least the transactions are going through. A reputable payments processor like Stripe would put a problem like this on their status page and probably post a detailed post-mortem, but I won't hold my breath for any kind of communication from Apple. See you all in this thread next year when things are broken again! I don't have the time, nor was there an explanation as to the cause of the problem. If you find that this issue still persists, then your application may be triggering this problem in a different way. I would submit a bug report per the instructions I outlined above. We received the code which was 2037 or -2 through the log. We cann't find any illustration about the codes by Apple guide. All the IAP process works well in Sandbox enviroment but in Production no. When I click to subscribe all the charge process proceed but the purchased items aren't unblocked. I think that the StoreKit aren't calling the paymentQueue: updatedTransactions method and then I can't know the purchase state. When I click second time in the subscribe button I have the message that I am subscribing the item and then my items are unblocked, that is the paymentQueue: updatedTransactions was called and then I get the IAP state. I have the code to unblock my items inside the SKPaymentTransactionStatePurchased and SKPaymentTransactionStateRestored cases. But then my updatedTransactions doesn't get called at all, so I can't tell if they've actually bought it. If you did, then did you update the paid app contract? The paid app contract must be signed by both the developer and Apple to be in effect. If not, then the SKProductsRequest will fail making it seem like in-app purchases no longer work. My problem like this: We have found that the issue occurs when the customer is prompted to update their App Store payment information during the IAP process. This takes them out of our app,and they paid the iap. When they return to our app,only received SKPaymentTransactionStateFailed. This problem hanppens ervery year. I suggest when the customer finished update their payment information,let the customer return to app. Don't let the customer buy iap out of the app. If you are saying that in your case 3 occurred but updatedTransactions received only a failed transaction then that is a bug in the system. If you are saying your code turns off the transactionObserver after receiving a failed transaction then you need to 1 fix your code and 2 get the user to do something to add a transaction observer and receive the tarnsaction that is waiting in the queue for them. Apple disclaims any and all liability for the acts, omissions and conduct of any third parties in connection with or related to your use of the site. All postings and use of the content on this site are subject to the.

If the StoreKit flow were easier possible. This is what we have been met for a long time but this doesn't appear to be working with iOS 9. Normal behavior: When a user has purchased one or more non-renewing subscriptions and their latest subscription expires, they can purchase it again. I understand that this is a terrible workaround - however, I wouldn't be met if some users are in fact repurchasing the items to find that it works without a second charge. Does it differ from a regular transaction that has not been delivered. If you weren't using Google, you'd have to publish yourself. We have offered IAP for years and haven't civil this issue until now. So, there is a spectrum. App store fees are more important when you are starting out or if you have lower sales.

credits

released December 15, 2018

tags

about

korimebus Omaha, Nebraska

contact / help

Contact korimebus

Streaming and
Download help

Report this album or account

If you like In app purchase apple fee, you may also like: