I'm not sure if they were officially rejected or not; the only state that they ended up in was "Developer Action Needed". I'll probably do what you said though. Can I use the same names/identifiers for the new IAPs once I delete/re-add them? Thanks!
I'm not sure if they were officially rejected or not; the only state that they ended up in was "Developer Action Needed". I'll probably do what you said though. Can I use the same names/identifiers for the new IAPs once I delete/re-add them? Thanks!





If an IAP is rejected, you have to delete it and create it again as a new one.




I'm working on the IAP for my game and I have a question or two: When using "Request For Payment" and "On Payment Restored," if I make the product "com.companyname.gamename.iapname" it doesn't work-- nothing happens when I make a purchase (non-consumable, just a "pro" upgrade). But if I make it just "iapname" it works. Does anyone know why? And is that OK?
[1] User Clicks Button------------------------------> Request payment for "iapname" quantity: 1
[2] On payment processed for "iapname"------------> Set PurchasedGlobalValue to 1
Do I need anything more than those two actions? The price is lised in the text on the frame, so there's no need to request that first (unless Apple requires it; do they?).
Also, when I do the Restore it asks if I want to make a purchase but then instantly it comes up with the name/password dialog, then back to the Do You Want To Purchase dialog, then to the You Already Bought This dialog. It eventually does give the user what they want, but all those pop-ups seem wrong and confusing. Here's how I have it:
[1] User Clicks Button----------------------> Restore Transactions
[2] On Payment Restored For iapname------> Set PurchasedGlobalValue to 1
See? Very simple. But it acts weird. Again, please note that it only works with "iapname" not with "com.companyname.gamename.iapname".
That should be fine - I had the same sort of thing, as did a couple others. I think you do need the price on the frame, though I'm not 100% sure, as it does tell you the price when it confirms with the user whether or not they want to buy the IAP.




Rejection warning: only show the price requested from the AppStore, do NOT put it into the text of your app!
Not sure if you have to show the price at all, but I'd do it to be on the safe side. Can't remember an app where it wasn't listed.
Thanks guys. I just checked a game (Peggle) and it does have the price listed on the "buy" button (Buy now for $0.99). JoKa, your two sentences seem to contradict each other. What did you mean?
He meant that you have to request the price when you want it, rather than having it hard coded into your app. Use the request product information action for this, and then once the information is through, set a string object or counter to display the price (you can have a price formatted version, which has the currency, or a version without formatting - use the later if you plan to use counters to display price).
Thanks! I think I have it all set now. I substituted the price text on the button with a string that displays the price gotten from the "Request Information" action.
Again though, it's fine that it all only works with "iapname" not with the full name that includes the bundle identifier (com.companyname.appname)?
Yes, I believe so - that's what worked for me and a couple of other people, too.
Just make sure to have the bundle identifier set correctly in the application properties.