Android InApp Покупка - Как обрабатывать статус ожидания?

Я интегрирую покупку Android In-App с приложением Android Native. Я использовал следующий код, чтобы начать покупку In-App!

Bundle buyIntentBundle = mService.getBuyIntent(3, getPackageName(),”product_sku”, "inapp",”Some Developer Payload”);

PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");

startIntentSenderForResult(pendingIntent.getIntentSender(),REQUEST_CODE, new Intent(),Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));

Выше код работает с и откройте Google Play для покупки в приложении. Я переопределил onActivityResult для получения результата покупки в приложении (ниже приведен код)

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1001) {

        if (resultCode == RESULT_OK) {
            try {
                final JSONObject jo = new JSONObject(purchaseData);
                String orderId = jo.getString("orderId");
                String productId = jo.getString("productId");
                String state = String.valueOf(jo.getInt("purchaseState"));

                //POST purchase result to my server for my record!

                //Finally Consume the product 
            } catch (JSONException e) {
                e.printStackTrace();
            }
        } 

    } 
}

Ниже приведен ответ, полученный нами от покупки InApp.

'{ 
   "orderId":"12999763169054705758.1371079406387615", 
   "packageName":"com.example.app",
   "productId":"exampleSku",
   "purchaseTime":1345678900000,
   "purchaseState":0,
   "developerPayload":"bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ",
   "purchaseToken":"rojeslcdyyiapnqcynkjyyjh"
 }'

Мой вопрос заключается в том, как определить, что транзакция покупки в приложении находится вВ ожидании» статус потому чтоpurchaseState» (Целочисленное значение в JSON), имеющее только три значения «Купленный»,» отменен» а также "возвращается».

Я из Индии, и кошелек Google принимает любую транзакцию сразу после совершения покупки в приложении.

Сначала он всегда находится в состоянии ожидания, а затем принимает или отклоняет транзакцию до 48 часов!

Я хочу, чтобы только мой клиент мог использовать приобретенный в приложении продукт только после успешной оплаты в Google Waltet.

Я столкнулся с тем, что Мой единственный клиент купил продукт inapp из моего приложения, но почему-то их данные не публикуются на сервере. Клиент сказал мне, что эта транзакция покупки изначально находилась в состоянии ожидания и была завершена через два дня, даже если я получил этот платеж в своем торговом аккаунте, поэтому я пришел к выводу, что Android не отвечает. ResultCode == RESULT_OK в onActivityResult был куплен, ожидает рассмотрения.

Так что, если кто-то сталкивался с такой же проблемой, пожалуйста, объясните мне решение или последовательность действий для ожидающего статуса! Должен ли я использовать APN для статуса ожидания? Но мне нужно, чтобы данные о статусе отложенного заказа сохранялись на моем сервере! Заранее спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос