Androidの課金についてのメモ

Android Studioを使って課金処理を作った際のメモ。バージョンは3

aidlを置く場所

Eclipseで記載されてるところが多いけど、aidlはmainフォルダの下に置く必要がある。

クライアントで参考になるURL

ここが一番詳しく書いてあった

http://web-terminal.blogspot.jp/2013/05/androidgoogleplay.html

サーバで参考になるURL

失念。Googleグループではてなのリンクのやつが一番わかりやすかった

課金を検証するのに使うURL

グーグルさんのここに書いてある。

https://developers.google.com/android-publisher/v1_1/

流れ

ClientでdeveloperPayloadに一意となる値をいれて課金処理を行う

終わったらサーバにpurchaseをまるっと送る

送られてきた値をサーバでパースして、出来上がったTokenを元にGoogleに問い合わせて検証

正常なトークンなら値が返ってくるからそれのdeveloperPayloadで処理してるかを確認

処理してなかったらpurchaseごと保存して課金の付加情報を入れる

OKが返答されたらClientで消費済みをグーグルに送る

まとめ

OrderIDぐらい返してくれればいいのに返してくれないGoogleさんはいけずだと思う。developerPayloadで一意の値を入れるのが一番いいと思うんだけど難しい。そもそも送られてきた値が本物かを調べるすべがtokenしか無いのも辛い。Tokenで引っ張って既に使用されているかを判定することもできるんだろうけど文字列が長すぎるよなぁ。後、課金のテストで継続課金の時間を短くできなかったり、アプリをいちいち登録しないと試せなかったりめんどくさいことが多すぎる。手数料30%(だっけ?)もとるんだったらもうちょっとちゃんとしてほしいなー。