ブログBlog

アプリ内課金に悩まされてます

投稿日:2014年08月27日

布内です。

最近、アプリ内課金の処理に頭を悩まされています。

非消費型の課金の実装ですが、iOSだけで一週間以上かかってます・・・・

ネットで調べながらなんとか正常処理はできているのですが、異常処理が上手くいきません・・・

課金処理をシーケンス図で表すとこのようになります。

今回、課金アイテムは1個だけなので、プロダクトIDを引数に直接記入してるので、プロダクト情報の問い合わせ部分は少し違いますが、この部分では問題は起きてません。

問題は購入の処理です。

購入処理の開始を要求して、購入処理の結果を受け取るまでに、アプリを終了すると、おかしくなります。

『既にこのアイテムを購入されていますが、ダウンロードされていません。今すぐダウンロードするには「OK」をタップします。』

と表示されて、OKをタップしても失敗に終わるんですよ・・・

調べると、

[[SKPaymentQueue defaultQueue] finishTransaction:transaction]

でトランザクションを終了させてないので、二重購入の処理になってしまい、上記エラーが出るみたいですが・・・

[SKPaymentQueue defaultQueue].transactions.count

でトランザクションの数を調べてみると0なんですよね・・・

もっと調べないといけませんね・・・

PAGE TOP