InAppPurchase - nonConsumable product per MSISDN is not supported

Hi


I have a chat application and I want to add a feature of sending sticker messages.


I plan to make the sticker packages available for purchase via IAP.


As I understand, my packages falls under the definition of a nonConsumable product, once the user had bought a sticker package he can use it endlessly and can not buy it again.


As many other chat application my user login method rellay on the user's MSISDN (that's the user ID). The user registers with his phone number and can start sending chat messages to his friends. In addition a user can also use different user IDs, meaning that a single user can hold multiple accounts, each of the accounts is managed in my sevrer independantely from he's other accounts.


The nonConsumable package type raises a problem in my flow, in my DB every account is unique, there is no value for a situation where two accounts are associated with a single user (a single Apple ID), if a user previously bought a sticker package under one account, deactivates and registers with another account he should not be able to restore the purchase. However, when the package is of type nonConsumable and the user tries to buy it with his second account, he receives a system message indicating the package is already purchased and he is able to restore it. This happens because the user is still using the same Apple ID to buy his sticker package.


To my understanding, it appears that either IAP is lacking the mechanism to deal with this flow, or i'm missing it.


I would have liked to classify my stickerPackages in iTunes as consumable product and allow only one purchase for each account, but then, I guess my app will be rejected in the review process (on the count it can only be purchased once).


Do you have any suggestions?


Thank you.

You can make it a consumable and offer the user, say, 100 stickers for $0.99 or 500 stickers for $2.99. When a device (user) buys the IAP you set a credit of 100 (or 500) stickers in that device. Each time the user uses one of those stickers you deduct one from their credit. If you want, you might allow a user to transfer credits from one device to another device using MCSession (to anyone including their friends) or through their iCloud account key-value file (to other devices owned by them).


The user can purchase repeated IAPs (so they could get 2 100's or 2 500s).


Your stickers are, in fact, consumables not non-consumables.


And finally, to avoid hacks you might store two variables - one is the number of credits like "100". The other is a matching code to be sure the number of credits is not hacked - like (number of credits)*(17) or "1700". Then check to be sure the code is correct before granting the credit. (A better code is, of course, a SHA-1 hash of the number of credits followed by a device specific unique code like "credits =100 and identifierForVendor").

Hi,


The sticker package one time purchase is mandatory.


Any other ideas?

What does this mean?

"The sticker package one time purchase is mandatory."

Why can't a user purchase it multiple times? Is it that you only want to require the user make a single purchase and satisgfy their "sticker" needs forever? If so, how about letting them purchase a consumable IAP of 100000000 stickers?

I appreciate the help you suggest, and you are wright I could change my billing method, but one time purchase seems to be the wright billing method for a sticker messaging service.

I am looking for a legit solution, please no workarounds.

It would be nice to get an answer from an Apple staff technician, is there another platform I can address Apple directly?

InAppPurchase - nonConsumable product per MSISDN is not supported
 
 
Q