19

アプリ内課金をアプリケーションに実装しようとしています。購入部分は正しく機能していますが、払い戻しの発行はどのように処理すればよいですか?

セクションの下に、Testing In-App Billing注意する必要があると書かれていますがIN_APP_NOTIFY、それをクリックするとv2、ブロードキャストレシーバーを登録する必要があるAPIに移動します。ただし、何をすべきか、または同じように使用されているか、サポートされているv3かどうかについての情報は提供されません。IN_APP_NOTIFY

サンプルアプリも払い戻しを処理しないので、どのように払い戻しを処理すると思いますv3か?

4

1 に答える 1

32

v2と同じ方法で処理することになっています。ユーザーが払い戻しをリクエストした場合、チェックアウトコンソールを使用して注文をキャンセルまたは払い戻します。次に、アプリは起動時などに購入のステータスを確認し、正しいことを行う必要があります(通常、払い戻しされた購入へのアクセスを許可し、キャンセルされた購入を拒否します)。残念ながら、提供されているサンプルはこれを行う必要がないため、自分で追加する必要があります。さらに不幸なのは、ローカルキャッシュやサーバー側のバグのために、購入をキャンセルまたは返金した後も、購入した状態が長く続くという事実です。ATMでできることはあまりありません。

Trivial Driveサンプルを使用していると仮定すると、次のようなものをアプリに追加することをお勧めします。

Purchase purchase = inventory.getPurchase(product);
Log.d(TAG, "Purchase state: " + purchase.getPurchaseState());
// 0 (purchased), 1 (canceled), or 2 (refunded).
if (purchase.getPurchaseState() == 0
     || purchase.getPurchaseState() == 2) {
   showPremiumVersion();
} else {
   showFreeVersion();
}
于 2013-01-28T02:03:46.587 に答える