http://selfkleptomaniac.org/archives/2032 を参考に実装してsandboxで一通り動いたー
ただ、 Auto-renewable Subscriptionsを試してみて結構ハマったのでまとめ。
receiptオブジェクトの中身はヘタに触るな
Auto-renewablの場合TiStorekit.purchase()のコールバックのパラメーターにくるevt.receiptを保存しておいて、時々TiStorekit.verifyReceipt()しないと自動継続された場合の期限が取れない。
で、このevt.receiptがTiBlobで来るうえに、中身をみると微妙にJSONじゃなかったりして一瞬どう扱っていいことやら。。ってなるんだけど、Base64でエンコードして保存、読み出したらデコードしてそのままTiStorekit.verifyReceipt()。これでオーケー。
TiStorekit.verifyReceipt()ではlatest_reciptが取れない
これはもしかしたら使い方が悪いだけなのかもしれないけど、「In App Purchaseプログラミングガイド」に書いてあるURLにPOSTしたらあっさり取れた。
POSTでverifyするときのパラメーターはJSON
var data = '{"receipt-data: ' + receipt + ', password: ' + p + '}';
xhr.send(data);
これで。あ、receiptはBase64した文字列ね。
sandboxは時間の流れがはやい
http://d.hatena.ne.jp/iRSS/20111028/1319763704 の人が書いてるのを見るまで、うまく行ったり行かなかったりすると思って悩んだ。。
そろそろsandboxは卒業かな?という感じなんだけど、Appをストアにのせる前に実環境でテストする方法がわかんねぇ。。