Search Unity

Simple In-App Purchase System (SIS) - Shop solution

Discussion in 'Assets and Asset Store' started by Baroni, Aug 8, 2013.

?

Which billing plugin are you using in combination with Simple IAP System?

  1. Unity IAP

    173 vote(s)
    86.5%
  2. Voxel Busters

    10 vote(s)
    5.0%
  3. Stans Assets

    13 vote(s)
    6.5%
  4. Prime31

    4 vote(s)
    2.0%
  1. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Hi @justtime,

    Simple IAP System uses Unity IAP for billing. However, we catch billing errors and display appropriate feedback to the user. I.e. preventing to buy a non-consumable product twice. Hundreds of users use SIS already and I am not aware of any current init/process issues.
     
    justtime likes this.
  2. justtime

    justtime

    Joined:
    Oct 6, 2013
    Posts:
    424
    Hi!
    1)Is it ok to check for non-consumable items states, just verifying their receipts and not values in DBManager?
    2)And will receipt verifying will work without connection to internet?
    3)Should i save receipts manually after purchasing?
    4)And can i init IAP without internet?
     
    Last edited: Dec 4, 2019
  3. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    @justtime

    1. I'm not sure why you would do that? Our DBManager keeps values (as they are saved on the device) in offline state unlike Unity IAP receipts, especially when it cannot be initialized.
    2. Only local validation which is far from secure. Contacting live validation servers obviously needs an internet connection.
    3. There is no need to do that, see 1. Even if you're using our server side validation the DBManager already does this for you.
    4. No. Contacting App Stores require an internet connection, otherwise Unity IAP cannot initialize.

    If you've purchased Simple IAP System, please use the forum on our website for support.
     
  4. justtime

    justtime

    Joined:
    Oct 6, 2013
    Posts:
    424
    I meant save receipts on purchasing, and then validate them offline. It adds one more level of security IMHO.
     
  5. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Doing receipt validation on the device is barely useful and something you could skip completely. Unity IAP supports this but it is really just checking the format of receipts. Please see our documentation pdf included in the package, receipt validation section, for explanations of all supported verification types in SIS. Our DBManager saves receipts in an encrypted format on the device for later validation, if you wish to.
     
  6. justtime

    justtime

    Joined:
    Oct 6, 2013
    Posts:
    424
    Hi! I don't use XR and VR, and i disabled these modules, but errors on your asset install. Could i disable VRTransformRotation script and others relying on xr and vr?
     
  7. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    @justtime Please register on our website forum for support.
     
  8. luniac

    luniac

    Joined:
    Jan 12, 2011
    Posts:
    614
    The paypal feature should work for purchasing physical products yes?

    As in on the paypal window the customer will fill out Shipping information and that type of stuff so we could ship the product?

    Also, must we integrate with playfab? does it come with a cost on playfab's end to use it for paypal transactions?

    im not looking to restore purchases or anything virtual at all,
    i just need to use paypal within unity to purchase from a catalog of physical product options, like a shopping cart.
    can i do that with Simple IAP System?

    So its not really IAP that im interested in as much as the ability to do one time paypal transactions.

    Thanks :)
     
  9. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Hi @luniac,

    correct, you would need to integrate PlayFab for PayPal transactions as we do not develop our own PayPal plugin / servers API for that.

    Unfortunately, PlayFab does not include the shipping address when doing purchases via PayPal since they specifically designed it for virtual purchases only. I've discussed this issue on the PlayFab forums and they rejected adding the shipping address any time soon. So after a purchase you would need to follow up with the customer for their address, which is not really convenient.

    I've looked into adding the Shopify SDK for physical purchases instead, but there's overall less interest for it. What do you think of their pricing, would that be a good addition?
     
  10. luniac

    luniac

    Joined:
    Jan 12, 2011
    Posts:
    614
    not sure cause its for a client and im still looking for some kind of solution.
    but if client creates a shopify store that kinda invalidates the whole point of an app, and they wanted the app first lol

    This plugin might have Address included based on screenshot, ill have to contact them
    https://assetstore.unity.com/packages/tools/integration/paypal-shop-sdk-148840

    Thanks for clarifying the details.
     
  11. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    @luniac A Shopify store is on website and not in an app though. If it should be in the app it still needs to be integrated.

    The other asset you are referring to is not looking to be that well supported. This is only my opinion but I wouldn't rely on a low used asset for something important like transactions.
     
  12. luniac

    luniac

    Joined:
    Jan 12, 2011
    Posts:
    614
    I asked in the shopify community if it's possible to create a completely hidden shopify store that is ONLY accessible through the app, so we'll see about that.


    Regarding the low used asset, i mean if the paypal transaction is through paypal itself, using the Paypal REST API, then what's the problem with security anyway?
    seems to me like if its done on the paypal side it should be secure.

    I did contact the author though with some questions before i buy anyway.

    Thanks for help.
     
  13. xxKristian

    xxKristian

    Joined:
    Mar 16, 2020
    Posts:
    2
    @Baroni I don't have it clear. How would be the process to sell physical products with an app developed in unity. Also, this solution will work for Android, IOS and WebGL?

    hanks for the help
     
  14. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    @xxKristian selling physical products is currently not supported. I've looked into Shopify, but the general interest for an integration is very low.
     
  15. Bioman75

    Bioman75

    Joined:
    Oct 31, 2014
    Posts:
    92
    Hello, I have tried to register on your website but it keeps saying my invoice is invalid.

    Edit: Never mind unity sent me two invoices and the second one worked...
     
    Last edited: Mar 31, 2020
  16. AJP-Online

    AJP-Online

    Joined:
    Aug 12, 2015
    Posts:
    4
    Hello,
    I have a question.
    I want to use the purchased items of the shop in a inventory/crafting system. How do I access the bought itmes of your asset so I can see it in the inventory and use it there for crafting?
     
  17. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
  18. Pourya-MDP

    Pourya-MDP

    Joined:
    May 18, 2017
    Posts:
    145
    Hello some questions befor buying thia tool
    Can we change the IAP ui and design at all?(what i mean by this is can i create my own layout for shopping and inventory etc?)
    Second one does this asset completely support virtual currency?
    And the third one is it possible to use easy save 3 for saving progress and buys (virtual currency) with this asset?
    Thanks @Baroni
     
    Last edited: May 8, 2020
  19. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Hi @Pourya-MDP,

    the shop elements displayed in our example scenes all use the default Unity UI. If you are familiar with that, then you can change the shop and product styles.

    Buying virtual currency via real money, exchanging it from another virtual currency and spending it for products is supported. Saving as well. I am not aware of an additional case needed for IAPs.

    "Easy Save" is not supported by default. You would need to rewrite our storage system for this, which would be a lot of work. We also have encryption and public methods available for all kind of interactions with IAPs so there isn't really a requirement for this.
     
    Pourya-MDP likes this.
  20. Pourya-MDP

    Pourya-MDP

    Joined:
    May 18, 2017
    Posts:
    145
    Hi @Baroni
    And thanks for clarification!
     
  21. Content1of_akind

    Content1of_akind

    Joined:
    Dec 2, 2018
    Posts:
    12
    Is Unity IAP the only thing required for SIS?
     
  22. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Yes. Playfab is optional.
     
  23. Content1of_akind

    Content1of_akind

    Joined:
    Dec 2, 2018
    Posts:
    12
    Thank you.
     
  24. Content1of_akind

    Content1of_akind

    Joined:
    Dec 2, 2018
    Posts:
    12
    Hi, Is this forum for general questions only or can I also ask more detailed questions here too?

    In the getting started tutorial I am having issues with the plugin setup. I applied the Unity IAP setting in the Plugin Setup dialog box then I received two scripting errors.

    The ReceiptValidatorClient error was "Assets\SimpleIAPSystem\Scripts\ReceiptValidatorClient.cs(10,30): error CS0234: The type or namespace name 'Security' does not exist in the namespace 'UnityEngine.Purchasing' (are you missing an assembly reference?)"

    The IAPManager error was "Assets\SimpleIAPSystem\Scripts\IAPManager.cs(834,21): error CS0246: The type or namespace name 'StoreID' could not be found (are you missing a using directive or an assembly reference?)"

    Thank you
     
  25. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
  26. Content1of_akind

    Content1of_akind

    Joined:
    Dec 2, 2018
    Posts:
    12
  27. MordanLean

    MordanLean

    Joined:
    Dec 11, 2016
    Posts:
    3
    Hi,
    Is this also supports playfab bundle system?
    If it doesn't, do you have any plan to add it?
    Haven't purchase the pack yet
     
  28. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Hi @MordanLean,

    we currently mostly support currency packs in PlayFab bundles. This means, e.g. buying pack "small bag of coins" grants the user a 500 coins bundle.

    Could you please describe how you would like to use bundles? Are you planning to grant two or more different products, when buying a bundle product? I'll have to do a test with your specific case then.
     
  29. MordanLean

    MordanLean

    Joined:
    Dec 11, 2016
    Posts:
    3
    Hi, yes. I'm looking for grant two or more different products, when buying a bundle product.
     
  30. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Tested and works. On the server side (PlayFab) the bundle contents are added to the player's inventory automatically on purchase. Since we currently do not have an interface for bundles in Simple IAP System, you have to add the products locally via code (one line per item) in the purchase callback. If this is skipped, the player would only see all of their owned products on the next app launch / login.
     
  31. MordanLean

    MordanLean

    Joined:
    Dec 11, 2016
    Posts:
    3
    Hi, thanks for the reply.
    Then do you have any plan to add it?
     
  32. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    As I said, it already works and is not much effort. I am not going to add an interface specifically for PlayFab since it is, and will always stay optional.
     
  33. ferrari_due

    ferrari_due

    Joined:
    Dec 16, 2013
    Posts:
    9
    I bought this Plugin for Subscription In APP Process, which is not there in Plugin you can check in screenshot.
     

    Attached Files:

    Last edited: Jul 23, 2020
  34. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    @ferrari_due You did not set up or enable Unity IAP. Documentation PDF included, page 2.

    Our support forum is this one.
     
  35. Mortalanimal

    Mortalanimal

    Joined:
    Jun 7, 2014
    Posts:
    566
    Hello, I am trying to make a charity app, however, the 30% from playstore is a steal (Usually charities are exempt form any fees, thus we can advertise and say that 100% of your donation will be used to help the needy), so I am looking for alternative methods of paying charity through app. After looking into your product, is there a way to use it to pay using alternative means such as Paypal, and at the same time, renaming within the app to complete the purchase? With out getting redirected to Internet explorer of some sort?

    I mean if they get redirected, we might as well just redirect them to a website right from the get go which to me defeats the purpose of using an app in the first place

    Thanks in advance.
     
  36. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Hello @Mortalanimal,

    PayPal payments are usually used on non-mobile platforms, such as Standalone games. App Stores do not allow implementing other payment solution besides their own, so if you are distributing your app on the App Stores, you will not be able to use PayPal anyway. If you are going with PayPal in your app, you would need to distribute it outside the App Stores as well.

    The app redirects you to a web browser for the payment for security reasons. An app can never be safe, but the browser using a valid SSL certificate to the PayPal servers is. We've kept it that way to not implement an in-app browser solution ourself, which is way outside the scope of this asset.
     
    JBR-games likes this.
  37. shedrackokolie38

    shedrackokolie38

    Joined:
    May 6, 2019
    Posts:
    2
    Capture36 copy.jpg I stumbled upon your asset yesterday, loved it and want to buy it. But first, i want to make sure it can handle my need.
    I watched the tutorial video. So now, If I have 2 (or more) virtual currencies in my IAP setting, can I assign each item it be bought by a specific currency ? For example, I have currencies "coins" and "diamonds". I want item "gun" be bought using "coins" and item "knife" be bought using "diamonds". Is it possible achieving that without using extra coding?
     
    Last edited: Aug 28, 2020
  38. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Thanks for your interest @shedrackokolie38. Yes, buying products for one currency or the other does not require extra code. You can just switch the currency in the screenshot you linked. Enter the desired amount for the target currency, and 0 for the other.
     
  39. lordzeon

    lordzeon

    Joined:
    Jun 1, 2018
    Posts:
    44
    Hi, surely this was asked before, but i cannot find it in the forum. Im updating prices and creating new products from my own online database, but the ShopManager only creates the IAPItems on Init, if i try to Update it using ShopManager.GetInstance().Init() im getting this error:

    Product xxxxx not found in IAP Settings. Make sure to remove your app from the device before deploying it again!
    UnityEngine.Debug:LogError(Object)
    SIS.IAPManager:GetIAPUpgrades(String) (at Assets/SimpleIAPSystem/Scripts/IAPManager.cs:609)

    What is the correct way of doing this?
     
  40. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    @lordzeon Please register on our dedicated support forum (see first post) using your Asset Store invoice. We're not providing asset support in this public forum.
     
  41. lordzeon

    lordzeon

    Joined:
    Jun 1, 2018
    Posts:
    44
    i´ve posted in the support forum... but didn´t get any answer
     
  42. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    It's Sunday. I have a private life too, sometimes.
     
  43. CharIliad

    CharIliad

    Joined:
    Jun 26, 2015
    Posts:
    8
    I am interested to buy this asset. I only want to know what are the capabilities of Simple IAP System to track refunds in products?
    Thanks!
     
  44. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Hi @CharIliad, currently only our server-side receipt validation allows post-purchase verification of products and local removal, mainly used for subscriptions (when they expire). It could be implemented for Google Play as well, however there was low demand for it in the past. For other stores such as iOS, refund implementations are not viable as that would require users to re-enter their account password.
     
  45. phileday

    phileday

    Joined:
    Feb 8, 2014
    Posts:
    121
    Hi

    Sorry if this has been asked before as I'm having difficulty finding the wording to get the right results back.

    So what I want to do is create a purchase option in my game for a timed dlc within Steam.

    So in the game you'd get three options, get pro version for 1 month, 3 months, 1 year. After that period the game would go back from pro to normal. A reoccurring subscription would be good but that's the second hurdle to get over not the first.

    Is this possible with SIS?

    I've searched around to find what might be possible with Steam and generally it points to being possible but not very well documented.

    Any help you could give me would be very appreciated.

    All the best

    Philippa
     
  46. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Hi @phileday,

    I'm not sure whether Steam allows for a timed in app purchase in their In Game Economy section. If it does, you could even use our native Steam inventory implementation - but would have to check that on the Steam backend first (I'm currently on vacation and can't login there).

    PlayFab definitely supports expiring products. So with our PlayFab & Steam implementation, you could absolutely have products with 1, 3 or more months lifetime. After a product is expired on PlayFab and the user logs in again, he/she will not have access to it anymore.

    Automated re-subscriptions are not something supported by PlayFab unfortunately. Your users would have to buy the product again, after it is expired, to gain access again.
     
  47. phileday

    phileday

    Joined:
    Feb 8, 2014
    Posts:
    121
    Thanks for the reply. We currently have our base app on Steam
    https://store.steampowered.com/app/1250810/Festoon/

    so I think the integration would be through Steam. I'm not familiar with PlayFab so I'll have to look into how that works. I've also contacted Steam to ask what sort of integration they have so hopefully they'll let me know soon and I'll post a reply here :)
     
  48. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    I see, probably your app is defined in the "Software" category on Steam? Note that for in-app purchases, having the Steam overlay active is required but disabled for software apps by default.

    Regarding PlayFab, we actually do everything for you on that end - you only have to set up a project on PlayFab and do the integration by following our guides. If the user then launches the app from within Steam, the PlayFab login is happening in the background. Player inventory is automatically connected and fetched from PlayFab using its Steam ID. This way, subscription products are expiring on PlayFab servers and only products which are still active delivered to the app.

    Let me know how it goes ;)
     
  49. phileday

    phileday

    Joined:
    Feb 8, 2014
    Posts:
    121
    Hi

    I've purchased SimpleAPI and I'm working through the setup now. I have to say it feels like quite a steep learning curve for me as I've never worked with IAP's before.

    I've got as far as importing PlayFab SDK, your plugin, setting up PlayFab with itself (Full suite) and your plugin and setting up paypal in playfab and granting permission in paypal. I'm now trying to integrate the purchase options.

    The first problem I'm running into is the "Couldn't get funds, currency: 'coins' not found." error message. I've got a simple script to log in which seems to work (I'm integrating into VerticalTabs ) and I thought it might be because it's logging in after reporting this message so I disabled the ShopManager enabling it once the login was successful. Still the same error.

    I'm not sure if I'm making the whole things too complicated. You've got quite a complex setup for multiple purchases with the different scenes such as VerticalTabs but my setup really only needs three buttons, purchase 1 month, 3 months,1 year.

    If I ignore the "Couldn't get funds" error and try and purchase the thing I get "billing is not available" and the "Unity IAP is not initialized correctly! Please check your billing settings.".

    Should I be trying to get the purchasing system working with these scenes or should I be connecting your plugin to the buttons I've got setup?

    Any help with this would be very apricated.

    Philippa
     
    Last edited: Sep 22, 2020
  50. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,260
    Hi Philippa (@phileday), please post on our dedicated support forum. I can see you've already registered there. We do not offer support here.