none
Workaround for lack of consumable in-app purchases

    Question

  • It would seem that consumable in-app purchases are not currently supported:

    http://social.msdn.microsoft.com/Forums/en-US/windowsstore/thread/a5883d77-c834-4d29-b85a-ad9f424ab912

    http://social.msdn.microsoft.com/Forums/uk/windowsstore/thread/e65a33fb-46ff-44d5-ba58-5e0c2238061c

    Since consumables are an important part of a freemium business model, I've been looking for a workaround. We can set an in-app purchase product lifetime to 1 day when creating them on the Windows 8 Store. So instead of creating a consumable product called goldpack which can be bought multiple times, giving you say 100 gold each time you buy it, would it be OK to define a range of differently-named products corresponding to the same in-app item, each one with its product lifetime set to "1 day":

    goldpack.1

    goldpack.2

    goldpack.3

    etc.

    When you buy a goldpack the app picks the first of these you don't have a current license for. On a successful purchase it adds 100 to your gold and saves the game state. The next day the license has expired so it should always be possible to buy more of the gold pack as long as you don't buy more than the number of equivalent products in a single day.

    Any technical or Cert reasons this wouldn't work?

    Is there a good way of testing this with CurrentAppSimulator? (I can't see a way to set the lifetimes via WindowsStoreProxy.xml)

    • Moved by Jesse JiangModerator Monday, September 17, 2012 6:15 AM (From:Building Windows Store apps with C++ )
    Friday, September 14, 2012 3:33 PM

Answers

  • Moving to another forum was not the answer :)

    Through a Microsoft contact I did manage to get the following answer by email:

    If the games are being xbl enabled they will have to use the built-in Consumables solution.  If they are not xbl enabled, the approach outlined in the thread below is totally fine. Testing this with AppSimulator would consist of manually selecting the failure reply to simulate the attempted purchase of an in-app purchase BEFORE the time (1 day) has expired.  I don’t think there is any other (more sophisticated) way to test that.

    So I guess I will run with this workaround. Obviously our app will be keeping track of the current balance of gold since the Store can't do this for us.

    I hope this helps someone else.

    • Marked as answer by JudgeDredd2000 Thursday, September 27, 2012 7:47 AM
    Thursday, September 27, 2012 7:46 AM

All replies

  • I recommend you ask this question in the store specific forum.

    http://social.msdn.microsoft.com/Forums/en-US/windowsstore/threads

    this forum is for C++ specific questions and this is not specific to C++.

    • Marked as answer by mark_1h Wednesday, September 26, 2012 8:54 PM
    • Unmarked as answer by JudgeDredd2000 Thursday, September 27, 2012 7:42 AM
    Saturday, September 15, 2012 5:05 AM
  • Moving to another forum was not the answer :)

    Through a Microsoft contact I did manage to get the following answer by email:

    If the games are being xbl enabled they will have to use the built-in Consumables solution.  If they are not xbl enabled, the approach outlined in the thread below is totally fine. Testing this with AppSimulator would consist of manually selecting the failure reply to simulate the attempted purchase of an in-app purchase BEFORE the time (1 day) has expired.  I don’t think there is any other (more sophisticated) way to test that.

    So I guess I will run with this workaround. Obviously our app will be keeping track of the current balance of gold since the Store can't do this for us.

    I hope this helps someone else.

    • Marked as answer by JudgeDredd2000 Thursday, September 27, 2012 7:47 AM
    Thursday, September 27, 2012 7:46 AM
  • The same idea I had, I put it in another thread. I think it is totally right. At this moment I am developing a store game without XBL, so I think that it's the only way.

    The step to know is who generates the xml. I do it copying from the sdk example, or...there is an in-app generator?


    Juan Pablo G.C. MAP 2010 MCTS

    Sunday, October 7, 2012 10:50 AM
  • I know this is an old thread but I can't find any other info on the subject, and I don't want to only support 8.1, so stuck with this method.  My only concern -- do users see the expiration date when purchasing?  Will it say something like "expires in 1 day", because if so, that would be really bad for sales, even if I try to explain it on a screen prior to purchase.

    Saturday, December 6, 2014 5:39 PM