Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In App Purchase - when trying to buy consumable product again - this in-app purchase has already been bought

I have consumable In-App-Purchase product in my iTunes connect, and when I'm trying to buy it twice (on my iPhone), it tells me that I already bought it. But this is the whole point of consumables, that users can buy them over and over. Any suggestions?

like image 607
Roi Mulia Avatar asked Nov 14 '14 19:11

Roi Mulia


People also ask

What happens to in-app purchases when you change devices?

If you need to reinstall the app or you change phones, the in-app purchase is still there just as are all the apps you bought, ready to move to your new device. All apps that contain in-app purchases in the App Store on the iPhone and other iOS devices have a disclaimer next to the purchase button.

How do in-app purchases work in games?

Games often have a store for making in-app purchases. A popular in-app purchase is for in-game currency. While the purchase is offered by the app, it is the app store that handles the billing for the purchase. The in-app purchases that unlock content are permanent.

How do I Stop my Child from buying in-app purchases?

Tap In-App Purchases to see the list of individual in-app purchases. You can disable in-app purchases on iPhones or iPads your children use to prohibit then from buying indiscriminately in the Settings app by going to General -> Restrictions or Screentime, depending on your iOS version.

What is the difference between in-app purchases and Expendables?

In-app purchases that unlock content or features are permanent. Once you buy them, you don't need to buy them again. Unlockables can include content such as e-books, an expansion to a game, or features such as the ability to print in a word processor. Expendables.


1 Answers

This happens if you haven't marked the transaction for the original purchase as finished, which you should do in your - (void)paymentQueue:(SKPaymentQueue*)queue updatedTransactions:(NSArray*)transactions method after you've successfully processed the purchase.

The method you need to call is [[SKPaymentQueue defaultQueue] finishTransaction:transaction].

like image 188
grahamparks Avatar answered Oct 03 '22 08:10

grahamparks