私はアプリ内課金の実装に取り組んでおり、blundell のチュートリアル ( http://www.anddev.org/advanced-tutorials-f21/simple-inapp-billing-payment-t52060.html ) に基づいています。
購入に行くと、すべてが正常にチェックアウトされているように見えますが、数分後に、購入が失敗してキャンセルされたという通知が表示されます。返されるメッセージは次のようになります。
ご注文をタイムリーに完了できませんでした。Google Checkout でお支払い情報を確認し、しばらくしてからもう一度お試しください。
そこで、LogCat を使用して調べてみたところ、IN_APP_NOTIFY アクションを取得すると、単にキャンセルされて戻ってきたようです。私は完全に困惑しており、同じ問題で他の人に自分のデバイスを試してもらいました。
以下には記載していませんが、返ってきた JSON 文字列では、 purchaseState が 1 (キャンセル済み) に設定されています。
ログダンプ!
06-05 17:39:03.175: INFO/BillingService(7694): Received action: com.android.vending.billing.IN_APP_NOTIFY
06-05 17:39:03.175: INFO/BillingService(7694): getPurchaseInformation()
06-05 17:39:03.183: INFO/BillingService(7694): current request is:1874091953267766809
06-05 17:39:03.183: INFO/BillingService(7694): GET_PURCHASE_INFORMATION Sync Response code: RESULT_OK
06-05 17:39:03.714: INFO/BillingService(7694): Received action: com.android.vending.billing.PURCHASE_STATE_CHANGED
06-05 17:39:03.714: INFO/BillingService(7694): got signedData
06-05 17:39:03.757: INFO/BillingService(7694): confirmTransaction()
06-05 17:39:03.765: INFO/BillingService(7694): CONFIRM_NOTIFICATIONS Sync Response code: RESULT_OK
06-05 17:39:03.768: INFO/ConcertView(7694): Transaction complete
06-05 17:39:03.768: INFO/ConcertView(7694): Transaction status: CANCELED