

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

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

**質問**

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

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

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

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

**現在のソースコード**

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

[code]

    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;
                }
    
     //以下に、正常時の処理
    
[/code]

### 補足情報

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


CC BY-SA 3.0
2016-04-11T07:38:52.260
23909
2020-09-25T13:51:10.817
2020-09-25T13:51:10.817
32986
15121
question
java android json eclipse アプリ内課金
アプリ内課金時、保留された状態を再現したい


見られているかもしれませんが[リンク先](https://support.google.com/payments/answer/6220327?hl=ja)に以下の保留状態になった場合は以下の確認をしろと書いてありました。

[code]

     - カード番号にスペースやダッシュが含まれていない
     - カードが期限切れになっておらず、正しい有効期限を入力してある
     - 正しいカード確認コード（CVC）を入力してある
     - 請求先住所がクレジット カードやデビットカードの請求先住所と一致している
    
[/code]

有効期限切れしたカードやカード番号が不正であれば再現できそうですが…  
ヒントになれば！


CC BY-SA 3.0
2016-04-22T20:10:17.090
24272
2016-04-22T20:10:17.090
15237
23909
answer