Hello! Thanks for reading my question! I was wondering how do developers set up in-game stores with two different currencies. For example, Paragon has its reputation currency(in-game) and its coins currency (cash currency). Do they do this within the engine with blueprints or do they use some other software? Also how do developers transfer funds to different customer account(s), considering its digital currency. Lastly, how do developers set up and maintain their account database(s) and how does this process look like from the developers end. As gamers we know this shtick as signup/account setup, download, and play. But how do developers even go about starting this process? As you can tell I’m new to this side of the industry and any insight is greatly appreciated!
trust me when i say, you want to stay FAR away from this kind of thing …
far … far … faaar … away
If you can do “fake money” thats fine, but, trust me when i say, the last thing you want to handle is the troubles that come with people and their money.
If you need an example of how bad it can get: Diablo 3 Real Money AH.
You will also need to have an agreement with a 3rd party for handling the cash flow. Last thing you need is your database hacked and all your customers money out the window. Guess whos liable for that? YOU ARE ! its a bad thing man. See how much it is for a 3rd party to handle transactions and all that, plus, your going to need to be an LLC so that you are not liable personally if **** hits the fan lol …
I agree with @Angrytoilet (wtf… this name :D). You don’t want to handle it as long as you are just a small indie dev.
It’s business. Think this of it, as a big online shop. Generally speaking, it will be more secure if you choose a well established third party service on the back-end, a company who will handle the money on your behalf. You can make your “shop engine” to commincate with their system thru the API they provide which have it’s own protocol/scheme that have to be integrated with your server (and if you’re lucky they will be patient and help you with this process). All the transactions must be running on secure channels, integrating these extra functions can be a little tricky, but of course not impossible to do.
Here is a broad example; the client sends a purchase item request to your server. Your server picks up this request and communicates with the API to figure out if the user have enough money to purchase the item. If the user’s profile can be charged (it maybe stated in the API response), then your server makes the actual item purchase request to the API, by sending product and user ids, transaction tokens etc. The backend will register and adds the given item to the user profile handled entirely on their side, also it will charge the customer’s ingame money or in cases the bank account or mobile wallet. The API response will contain the receipt that you can store locally also some parts you can send back to your client, notifying it of the success of the purchase event.
By leveraging the user profile and money interactions to their services (which will cost you money, actually it can be very expensive in cases), you can have more your focus on the Game. But, it’s still not going to be easy. For istance just like @Angrytoilet have pointed out there are many setbacks not only on the integration part but you must have to resolve the ridiculous amount of user complaints too, which the API will not help you at all. Just like in the case of large online shops, you have to setup a company to support your project with employees who are designated to handle the customer care, and resolve all sorts of cases (including company related issues). You will pick an attorney as well. The more the responsibilites you can pass up to others, the better your life and health will be! You should always be serious and take extra care when it comes to the money business.
I think Steam has some kind of in-game store but you need C++ to access it.