QA@IT

(Android)アプリ内課金時、保留された状態を再現したい

1839 PV

はじめまして。
Androidのアプリ内課金のことについての質問をさせてください。

現在、Eclipse(Java)にてAndroidの開発をしております。
課金時に決済が保留になった時の対策を考えています。

質問

お客様から、アプリ内課金時にGoogle側の購入ステータスが「保留」のまま購入完了しないというお問い合わせがありました。

注文が保留になるケースの詳細です↓
https://support.google.com/payments/answer/6220327?hl=ja

現状、エラー時の処理をユーザーキャンセル時、失敗時と分けて実装しています。
保留状態となった場合の処理がなく、またどうしたら保留状態を再現できるかがわかりませんでした。

ですので、保留状態の対策や再現方法などがあれば教えていただきたいです。
よろしくお願いします。

現在のソースコード

GooglePlayサーバーが成功しなかった時のレスポンス処理

OnIabPurchaseFinishedListener listener = new OnIabPurchaseFinishedListener() {
            public void onIabPurchaseFinished(IabResult result, Purchase info) {
                if (result.isFailure()) {

                    switch (result.getResponse()) {
               //ユーザーキャンセル
                    case IabHelper.BILLING_RESPONSE_RESULT_USER_CANCELED:
                    case IabHelper.IABHELPER_USER_CANCELLED:
                        Log.d("ApiInAppBilling", "[ERROR] User Canceles");
                        CustomDialog customDialog = new CustomDialog(BuyPoint.this,
                                getString(R.string.point_buy_cancel),getString(R.string.ok), "");
                        customDialog.setCancelable(false);
                        customDialog.show();
                        break;
                    default:
                    // 失敗時
                        Log.d("ApiInAppBilling", "[ERROR] Result Failed");

                        new AlertDialog.Builder(BuyPoint.this)
                        .setTitle("エラー")
                        .setMessage(getString(R.string.point_buy_error))
                        .setPositiveButton(R.string.ok, null)
                        .setCancelable(false).show();
                        break;
                    }

                    return;
                }

     //以下に、正常時の処理

補足情報

言語・Java
開発環境・Eclipse4.2
ビルドターゲット・19(Android4.4.2)

ウォッチ

この質問への回答やコメントをメールでお知らせします。