Search Unity

Game getting rejected over IAP issues

Discussion in 'PSM' started by karios, Aug 21, 2014.

  1. karios

    karios

    Joined:
    Nov 15, 2012
    Posts:
    12
    I had my game rejected twice already because of [8.1.2].

    The comments mention that my IAPs are being give to the user even if they choose to cancel the transaction. I am using the exact same code from the IAP examples and it works flawlessly on the dev environment, both on the PC and on the Vita. In both cases I get the debug choices as buttons (Ok, Cancel, Error, Reset) and when I choose the Ok option the IAPs (both consumables and durables) go through and the user gets them, when I choose Cancel or Error the user gets nothing apart from a warning message depending on the choice. No idea what to do next, since these are all the options I have to debug this.

    I have setup the IAPs on the DevPortal and as local XML for testing and I get all information correctly.

    Any ideas? Anyone had a similar experience with IAPs on Vita games with Unity for PSM?
     
  2. skaarjslayer

    skaarjslayer

    Joined:
    Oct 10, 2013
    Posts:
    108
    Did you try debugging it thoroughly? Check what happens if you Cancel/Abort/Reset/OK on all four dialog commands (GetProductInfo, GetTicketInfo, Purchase, and Consume if you have consumables). Especially if you have consumables, check how Cancelling or Aborting a purchase affects the ticket count of that consumable. If an IAP error occurs on the network side of things, you may have a mismatching ticket count between what your application says you have and what the server actually says you have. If you don't account for that, they might see that and fail you over it.
     
  3. karios

    karios

    Joined:
    Nov 15, 2012
    Posts:
    12
    Is the procedure different when the game is live than in the debug? When I am using the Unity IAP library, I get the OK, Cancel, Error buttons which I guess will not appear in the live version and are there just for debugging. When I use any of these, the app is behaving correctly (cancel and error do NOT give the users and consumables and they also display an error message). If the game is behaving ok with these options, should I expect something different from the version the testers are using?
     
  4. skaarjslayer

    skaarjslayer

    Joined:
    Oct 10, 2013
    Posts:
    108
    I don't think so. The OK, Cancel, Error, and Abort buttons are all just dialog results that the server or library would return if it were to actually fail. For the purposes of debugging, they give you the box to force those results to see how your application handles it. It's up to you to make sure that your game properly handles each result.

    However, if everything seems to be working fine for each result, then I'm at a loss. Maybe one of the UnityForPSM guys can be of better help or you can post code so others can see if maybe there's something you've missed.
     
  5. PeterD

    PeterD

    Joined:
    Feb 6, 2013
    Posts:
    120
    The key may be in the wording of the failure. You say that the failure is that your IAP is being given to the user regardless of if they cancel.
    Have you checked how you are handling these events i.e. how do you check if a user has purchased an IAP when the game starts up? Is there some locally stored flag that get's set when the user buys an IPA and is this persisting across sessions. If so you may be inadvertently setting this flag even if the purchase fails, causing the game to award the IAP on subsequent plays.