rlabrecque / Steamworks.NET

Steamworks wrapper for Unity / C#
http://steamworks.github.io
MIT License
2.77k stars 366 forks source link

Unable/Don't Know How To Initiate In-Game Purchase (initTxn) #175

Closed JamesA27 closed 7 years ago

JamesA27 commented 7 years ago

Hello,

I have been unable to figure out how to initiate a purchase/transaction: https://partner.steamgames.com/doc/webapi/ISteamMicroTxn#InitTxn

I have tried my best to find a way to call that method, and others, but have not found any solution.

I see that MicroTxnAuthorizationResponse_t correctly has a callback, but it does not have any way to initiate the request. Am I missing something?

Thanks! James

ghost commented 7 years ago

@JamesA27 https://partner.steamgames.com/doc/features/microtransactions - This should help. This issue tracker is only for Steamworks.NET related issues - you should ask on the Steamworks Group for any API issues. You should close this issue and ask around on the forums.

JamesA27 commented 7 years ago

Thanks for the comment. Have you initiated a transaction in a game? If so, how? That is the documentation I followed and it leads to InitTxn, which I linked. I don't see a way to initiate the transaction in C# in Unity using an in-game overlay rather than opening a web page. It seems to me like the InitTxn API is missing in Steamworks.NET? Or am I missing a way to initiate a MicroTxn?

JamesA27 commented 7 years ago

Also, I was unable to access the forums linked on GitHub unfortunately. It says "This Group is private".

Suvitruf commented 7 years ago

You should initiate transaction from your server. After that Steam will trigger in-game overlay and after success in-game callback will be called.

JamesA27 commented 7 years ago

Thank you for the reply! I finally ended up figuring that out, but it seemed like a very strange concept to me. I'm used to in-app purchasing with appstores, where you fire off a request directly, but this was pretty different.

Suvitruf commented 7 years ago

Yeh. I've implemented different stores sdk before (Android, iOS, FB, etc). On each of them client starts the purchase process. Also, only in Steam microtransactions API you should generate orderId yourself and it should be uint64. Kinda weird.

piouswolf commented 6 years ago

@Suvitruf
Hello! I'm confused by interface ISteamMicroTxn/InitTxn. How should I fill the field amount[0] | int32 | ✔ | Total cost (in cents) of item(s). to support multi currency ? Is there any api from steam to convert the price? Or should I convert the price depend on exchange rate by myself ?

Thanks

Suvitruf commented 6 years ago

@piouswolf, hello there.

AFAIK, you have to do it by yourself. So, if you use different currency (not USD), you should convert your $ price and fill Total cost.

piouswolf commented 6 years ago

@Suvitruf

Thanks so much!