• WordPress Money now enables you to sell in-game content directly on your website using WooCommerce. This means selling items without having to pay royalties to third parties and also that you can now accept any form of payment you choose including, but not limited to , CryptoCurrencies.
  • Includes native support to sell virtual currencies via WooCommerce
  • If you also install WordPress serials then you can sell your games via WooCommerce and automatically register it to players

TapJoy is a very large and respectable monetisation platform and offers you a host of ways in which to monetise your games. Everything from direct currency sales to showing videos and a host of things in between… Installing a free game (optionally having to play to level n); subscribing to a website or making a purchase on a website (for example: buying a domain on GoDaddy). Tapjoy allows you to reward your customers with virtual currency for doing an assortment of things… and in turn, Tapjoy pays you with real money for them doing so.

Tapjoy has a free plugin for Unity that you can download right on their website. Simply head on over to and create yourself a free account right now. You will then get access to the Unity SDK. Completely free. Start monetising your games today!

Right about now you might be asking yourself: If Tapjoy integration is free then what does this WUMoney plugin do?
Or perhaps you are asking yourself: What is that Non Managed Currency server that I read about above and why would I want it?

Well, the way I see it, Tapjoy is a truly excellent monetisation system (and I bet you’ve seen them in games you are playing or have played but never knew it was them) but they do have one caveat that has put me off using them completely for a long time now and WUMoney seeks to be the solution to that issue and make Tapjoy the only monetisation system you will ever want to use.

Tapjoy offers you a choice between two options for hosting your players’ virtual currency (called points): Either let Tapjoy host it for you or host it yourself but both of these options have their advantages and disadvantages. Allow me to highlight these as I see them…





  • They host the points on their servers for you
  • It’s completely free of charge
  • They make sure that the points go where they belong
  • They take responsibility for player’s points balances being accurate and up to date. I.e. whatever they say the balance is, you can be sure that is what the balance is. That simple.
  • They provide functions to fetch balances from their servers as well as manually award or spend those points
  • You receive live notifications of when points are awarded
  • When starting the game you receive a notification of points that were awarded while the game was closed
  • You can get started right away
  • By far the easiest and fastest way to get started monetising your game


  • Hosting the points on your own servers give you complete control over the points


  • Points are allocated per device, not per user. This means that everybody shares the same points on one device
  • This means that if you have a shared device in your home, you might save up your points for a week or two and come home one day, ready to buy the uber pimped triple fortified mega tank, only to find your points depleted and a pink unicorn grazing in your tank’s hangar…
  • If you own two mobile devices and want to play the game on both, each device will have it’s own points. Basically it means you have to play a new game on each device instead of continuing to build your world on whichever device you happen to have on hand


  • Tapjoy no longer take any responsibility for what happens to the points once they have sent it to you
  • You have to create a custom back end server system for your game(s)
  • This means either needing the skill to create a server to communicate with theirs or having to find someone to do it for you, most likely at a premium
  • All responsibility for what happens after they sent you the message is entirely on you
  • They simply contact your website and say “This user is owed this many points”. You can’t pass any custom values to your server when Tapjoy contacts it. They just tell you who and how much
  • You loose the functions to fetch balances and spend or award points. You need to implement this functionality yourself when you create your web server
  • You no longer get any updates of when points are or were awarded. You need to create that functionality yourself

Clearly, having them host the currency for you has loads of benefits over self hosting, but for me, having my wife or my child spend my coins when I was saving up for something else… that is a deal breaker for me!

Enter WUMoney. WUMoney is a Self Managed Currency Server that was custom built for WordPress and the WUSS system. Simply install this plugin on your website and enjoy these features:

WUMoney Hosted




  • Get a fully functional web server for use with Tapjoy
  • Automatically send Tapjoy the relevant success / error response they require
  • Validate/authenticate the security values Tapjoy sends with each message to authenticate the call came from them, is for your game and uses a currency you created
  • No unauthorised calls to the server script
  • Store points balances per user, not per device
  • Your points are stored in the cloud and follow you from device to device. Start the game on your iPad, continue playing on your Galaxy…
  • Use your points on platforms that Tapjoy does not support. When Tapjoy hosts your currency is is only available on iOS or Android. With WULogin you can spend your points on all platforms that Unity supports
  • Tapjoy requires that you create a separate currency for Android and iOS for each game. You still need to do that as WUMoney doesn’t change how Tapjoy works… but the currencies are now interchangeable between devices since it is linked to your account, not to your device. So play on one OS and continue on another and take your points with you
  • Regain the functions to fetch balances, spend points and give points
  • The function names are identical and work the same way as Tapjoy’s functions, making it easier to follow along with Tapjoy’s instructions on their website while making use of WUMoney to manage your points
  • Your game can now have unlimited additional currencies, not managed by Tapjoy, but using the exact same functions, thus giving you a less confusing time working with multiple currencies
  • Non TapJoy hosted currencies require 0 configuration. Just start using them and WUMoney does the rest
  • Currencies are stored per user, per game. Tapjoy only ever tells you “That device, so many points”. No custom fields means no telling yourself what game the points belong to short of creating a separate server per game. WUMoney is able to determine what game the transaction originated from and allocate the points to the correct player and the right game.
  • Regain the ability to send a notification when the game starts to tell a player if any points were awarded to them while the game was closed
  • Due to WUMoney being able to track both the game and the player it means that, just like all the WUSS kits, it only needs to be installed on your website once and it will work with all your current and future games
  • No configuration required apart from storing th currency keys you get from your Tapjoy dashboard
  • No need for a custom server per game!
  • You are able to spend points on all the platforms Unity supports but you can still only use Tapjoy’s monetisation system to earn new points on iOS and Android devices
  • When Tapjoy sends points to your server, your game does not get a live update. Instead, whenever you contact the server for anything, any updated points will trigger an event in your game as well as sending you the new total
  • Tapjoy automatically triggers the OnAppLaunched placement as soon as a connection is made to their servers. Since we have to tell them who the player is first and that can only happen AFTER we have connected to their servers, this means you can no longer use their OnAppLaunched placement. Simply use my Logged_In placement instead to do exactly the same thing

As you can see, WUMoney clearly makes a big difference in deciding on whether or not to use the Tapjoy hosted or non hosted virtual currency.

One more thing to take note of is that Tapjoy offers a whole host of additional events like telling you when a video has started, when it ends, when a user cancelled performing an action, analytics etc. For exact details on what the Tapjoy SDK can do, please visit their website. Know that when you install WUMoney you will be making use of my functions to fetch balances and spend money but all the other features of the Tapjoy SDK is still available to you and still works the same as before. Apart from fetching point balances, spending points and awarding points, you still use the Tapjoy SDK directly for everything else.

As an added bonus, though, WULogin comes with a simplified method of calling placements. Tapjoy requires a whole bunch of events to be setup and prepared and for you to create delegate responders per variable that you create. WULogin takes a different approach. WULogin comes with a very long list of possible placements that you might want to use. Simply drag the WUTJPlacement component onto the WUTapjoy prefab you load at the start of your game, pick a placement from the drop down list and then make sure to use that name in your Tapjoy dashboard when you create the placement. And that is that. All loading, showing and reloading is taken care of for you.

WUMoney offers you all the benefits of Taptoy minus the limitations and tops it off with a bunch of extra benefits… Get your copy now!


One very important thing to note before you buy WUMoney is this: WUMoney offers you a non managed currency server via your WordPress website but in order for you to make use of Tapjoy’s services you are going to have to install their plugin and follow the setup instructions from their website and (most importantly of all) play by their rules. The single most important rule being that TapJoy does not allow their virtual currency to be used to purchase real world items or in any form of gambling. If you decide to make use of their service and use managed or non managed hosting, you still need to abide by all their rules.

This makes this kit quite a bit different from the rest of my kits because plugin setup and configuration and any bugs or problems will have to be looked up on their website as they dictate how their plugin works and what features they offer and how you implement them and when, etc. All this kit does in terms of Tapjoy is take ownership of points balances off their hands.

All matters relating to setting up TapJoy’s plugin in Unity and getting it to work is all done and explained on their website, not via myBad Studios technical support.

2 reviews for WordPress Money

  1. Rated 5 out of 5

    whizbang101 on 2018-08-15 08:32:41

    Good Solution to handle our IAP Coin - Only required the coin facilities so users can purchase coin via a product in woo commerce and have it updated to the user account that purchased it so when they login to the game they can spend their virtual currency up to what they have in their account balance, and the Money WordPress plugin has a easy to read dashboard, please remember to take full advantage of this you will need at minimum the Login asset from this author and I would in addition recommend his WordPress UserData asset and in addition although I wrote my own serial generator way before this author publish an asset for serials but with that you can also sell your game direct to from your website but I cannot review it as like I stated I wrote my own solution for that some time before this authors serial asset was available but for the novice these collection of assets give you a very complete framework for a In app purchase platform for your game and for the pro they give you a competently programed jump start framework to custom to your needs knocking off a couple of development months accelerating your project development timeline for a very small price defiantly worth the price and a five star. Support from this asset author was fast and professional he answered the issue I had with this asset within hours professionally and effectively resolving my issue and explain the issue competently, great support and also on its own is worth five stars.

  2. Rated 5 out of 5

    ibps13 on 2018-05-03 18:42:58

    Simple, works, great support ! - Amazing assets, coupled to WUSSLogin and WUSSData, perfect for my need, woocommerce integrated and top noch support, needed to implement custom code, MrDude give me solution with nice example to do it. Five star !!


Please check back in soon...


Please check back in soon...

– The MBSNotifications class from MBSCore is now included in the asset to avoid any MBSCore dependency issues

– Unity 2018.1 is now minimum supported version
– Added support for CML 4.0

– Added an exception to the rule. In-game content must be virtual and non-downloadable products. GAME types are allowed to be downloadable also

– Added support for selling content via WooCommerce. (Framework to be used by multipe assets)
– Added support for selling virtual currencies from the website
NOTE: You need to manually refresh the balance inside Unity to see the new balance.
Recommended action: Refresh currency every time you enter the shop or change areas in the shop
NOTE: I give people currency but do not automatically handle refunds or cancelled orders. Manage this from the control panel
– Updated the Dashboard control panel to
– Display all currency balances for all games per user
– Allow you to update/remove currency balances as you see fit
– Display a transaction log for all purchases made by a customer listing:
date, time, invoice number, currency, and purchase source (Tapjoy or website)

  1. How do I get started?
  2. What is the WUTJPlacements script? Do I need it?
  3. I don’t want to use Tapjoy in my project. Can I still use WordPress Money?
  4. How do I create a virtual currency in WooCommerce that can be used in Unity?
  5. Can I sell other in-game content for Unity or only virtual currency?

Q: How do I get started?

The first thing you need to do is register for an account at and download the SDK for Unity from Almost everything else is setup and done via the instructions on the Tapjoy website, here:

Just remember that you are setting up a self managed (also called non managed) currency. You wil be asked at some point to choose between managed and non managed currency and once it’s chosen you cannot change it afterwards.

  1. When setting up your currency, make sure to select “Self Managed”
  2. For the callback URL use:

    If you are planning on building for iOS, Apple is now forcing you to use SSL. All http calls are going to be rejected soon.

    [mysite] should point to the folder where you installed WordPress into. I.e. if you installed it into but you use your site by going to, [mysite] needs to be

  3. Click to generate a key and write it down. This is the value you will need in your WordPress dashboard. You need to create a currency for iOS and Android so you will have to do all of this twice. Jut be sure to select IOS once and Android once and write down the keys.

What you call the currency is irrelevant (I just call mine Credits) as we will always call them “points” in WUMoney. Inside your game you can call them whatever you like.


If you follow along with the installation instructions they will tell you of a “nice feature” that automatically logs you in to their service as soon as the app starts and they will tell you that logging in is very important and that is why it is a good idea to log in automatically as soon as humanly possible.

That is all well and good but if you read on and get to the placements tutorial you will see that they automatically show ads upon the game connecting to their servers. This is very bad for us because we don’t yet know who is supposed to be getting points for that ad. Nobody has logged in yet, nobody can get credit for it, but it still shows. This means the ad shows purely for the purpose of annoying your customers and doesn’t put anything in their pocket… which translates into many angry emails in your inbox. That or you must make sure to have no content in that placement.

Instead of using the AppLaunched placement that Tapjoy automatically calls, we use the “Logged In” placement instead. We manually log in to Tapjoy after someone has logged into WordPress. Only once we know who is playing do we tell Tapjoy who is playing and only after they say “Okay, got it” do we trigger the Logged In placement.
Thus, in Windows->Tapjoy, I recommend turning off the Auto-Connect check box just to avoid mishaps but that is optional. What is NOT optional is to make sure you have nothing in the AppLaunched placement that Tapjoy automatically creates for you.

Now that you have your two self managed currencies defined for your game (one for Apple and one for Android devices), it is time to let WUSS know about it so log into your WordPress dashboard, go to the WUSS menu and click on the Money button (In this image it is still called Tapjoy). Enter the two keys you wrote down earlier and hit update beside each one, making sure you have the correct game selected from the dropdown.

You are now done and are ready to start using Tapjoy placements in your current and future games.

For more info on Tapjoy virtual currency, see
For info on non managed currency, specifically, see

Q: What is the WUTJPlacements script? Do I need it?

Tapjoy allows you to create as many placements as you want and allows you to call them what you want, although they do have a list of recommended placements. I have created an enumeration of those recommended placements as well as generic ones like “Video Request”. Getting placements to work inside your game takes a bit of reading, getting used to and some coding. You are gonna be spending a bit of time in the demo project, that is for sure.

WUTJPlacement offers you a trade off. If you sacrifice your freedom to choose any placement name you want and instead use the recommended placement names instead, I will save you the headache of first having to learn how to implement the placements and just do it all for you. Simply drag an instance of this component onto the Tapjoy prefab, select the placement you want to use from the dropdown menu, make sure you name your placement the same in Tapjoy (making sure to replace the underscore with a space. Example, in the drop down you would select “Logged_In” but in Tapjoy your placement should be called “Logged In”, without the underscore). Now you can trigger your placement at any time from anywhere with the only line of code you need to write:


So, what is it? It is a means to get you up and running super quickly and with minimal fuss. Do you need it? Not really, no. In time you might want greater control over your placements and at that time you might find it a bit limiting. Personally, I feel using only the 4 placements shown in the image is all I think I will ever end up using…

Q: I don’t want to use Tapjoy in my project. Can I still use WordPress Money?

Absolutely. Simply go to Edit->ProjectSettings->Player and select the “Other Settings” tab. Look for the “Scripting Define Symbols” field and delete WUTJ.

Tapjoy is now no longer used in the kit so go to the bootstrap scene and remove the TapjoyUnity object from it. Open the Build Settings, click Build And Run and make sure to select “Replace” when asked so you replace the current Xcode project.

Q: How do I create a virtual currency in WooCommerce that can be used in Unity?

All you need to do is create a wooCommerce product like you normally would, giving the product a title so people know what they are buying, some graphics, some text etc. Then you need to make sure the product is a “Simple product” type, is marked as virtual and not downloadable.

All that remains now is to create a product SKU according to the required format for WUMoney to isolate Unity products from other products in an order. The format is as follows:

An example SKU: WUSKU_8_Money_Gold_100

Since you will most likely be selling packs of 100’s or 1000’s of coins as a single product (as opposed to telling the player: “One coin costs 1 cent so just enter any qty you want and pay me that much”) but since WooCommerce’s cart has a quantity field where users can specify how many of your product they want to buy, the actual number of currency players get from a purchase is the Qty you set in the SKU multiplied by the number of products purchased.

Product Setup

Q: Can I sell other in-game content for Unity or only virtual currency?

I will be creating more content that you can sell and adding them into the relevant asset as I do so. In the mean time, if you want to sell items that I do not yet support, doing so is very easy but you will need to know how to code in PHP and have an understanding of how WordPress works.

Step 1 is to create a new script and to make sure WordPress loads it. That is the advanced part that requires the WordPress understanding. Alternatively, you can add your custom code to a script that does already get loaded but then you need to be aware that updating that script in future will delete anything you added to it. If you have the PHP and WordPress knowledge to still want to move forward, here are the four things you need to do:

  1. When you create your SKU, make the third part something unique to your product. This can be anything as long as you are sure it will be unique to your product and not something I will likely use in a future product of my own.
    Example: WUSKU_8_KEYS
    NOTE: SKU’s only need those three parts. You can append as many additional parts as you want (if any at all) or add additional info to the product’s meta information instead, if you prefer. Both are acceptable and will be sent to your function

  2. Register your function to my action. NOTE: The function name must be unique!
    Example: add_action( ‘wuss_purchase’, ‘MyUniqueFunctionName’ );

  3. Create your function and give it one argument only. See the documentation for what info is included in this array:
    function MyUniqueFunctionName($args)

  4. Finally, since your function will not be the only function responding to the product sale, you need to test the third part of the SKU to make sure the product should be processed by your function. If not, then quit.

A complete example of what your script should look like:

< ?php 
add_action( 'wuss_purchase', 'MyUniqueFunctionName' );
function MyUniqueFunctionName($args) {
    if( $args['type'] != "KEYS") return;
    //your code here

And that is all there is to it.