How to access the price of a product in SKPayment?

There’s a problem with just using NSLocaleCurrencySymbol + price.stringValue: it doesn’t handle the peculiarities of different locales, eg. whether they put the currency symbol in front or not. Norway, Denmark, Sweden and Switzerland all put their currency after, eg. 17.00Kr. Also, most(?) European countries use ‘,’ instead of ‘.’ for decimals, eg. “2,99 €” rather … Read more

Android In-App Billing failure, saying “You already have a pending order for this item.”

While there are issues with in-app billing like the links presented here (i was active commenter on issue 39), there are some worthwhile things to check on as well that can cause a 500 response from google. Namely, “restore transactions” and abusing that call. Abuse of that call is done on a per user basis … Read more

What size screenshots should be used for IAPs ( In app purchases ) for Mac apps?

I would like to add to the accepted answer because regurgitating the documentation does little to resolve actual problems. After taking a screen shot of the app on my device for in app purchase review and it still didn’t work, I did some investigating. After you attempt to upload a screen shot and see the … Read more

“The item you were attempting to purchase could not be found” Android in-app billing

Had the same problem. I contacted as well and got this response from Google Thank you for contacting Google Play Developer Support and reporting the behavior you’re seeing with in-app billing. We recently made some changes to our systems and we are now requiring an app to be published before testing. We are currently recommending … Read more

How to test In App Purchases through Apple TestFlight?

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 … Read more

In app purchases restore Button

I use a variation of this: //inside of an IBaction [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; [[SKPaymentQueue defaultQueue]restoreCompletedTransactions]; // Then this is called – (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { NSLog(@”%@”,queue ); NSLog(@”Restored Transactions are once again in Queue for purchasing %@”,[queue transactions]); NSMutableArray *purchasedItemIDs = [[NSMutableArray alloc] init]; NSLog(@”received restored transactions: %i”, queue.transactions.count); for (SKPaymentTransaction *transaction in queue.transactions) { NSString … Read more