Android In-App Billing, говорящий: "У вас уже есть отложенный ордер для этого элемента".
Я реализовал биллинг в приложении, и я столкнулся с проблемой. Вот что я вижу.
- Оформить заказ на предмет
- Подождите немного, чтобы заказ прошел
- Если покупка занимает некоторое время, пользователь обращается к кнопке "Назад", чтобы отменить покупку.
- Мое приложение получает уведомление о том, что покупка была отменена, и она подтверждает это.
- Пользователь и я оба получаю электронное письмо с сообщением о том, что покупка была отменена.
- Когда пользователь пытается снова купить элемент, Market выдает сообщение об ошибке "У вас уже есть отложенный ордер для этого элемента".
- Код ответа "Сервис недоступен"
- Восстановление транзакций не приводит к транзакциям.
- Вы никогда не сможете приобрести этот товар в этом аккаунте
Я нашел некоторую информацию об этом в Интернете.
http://www.google.com/support/forum/p/Android+Market/thread?tid=375490c831e02ab5&hl=en
http://code.google.com/p/marketbilling/issues/detail?id=39
Я связался с Google и получил ответ автобота, который они изучают.
Однако мне интересно, есть ли что-нибудь, что я мог бы сделать, чтобы вызвать это.
О, и я также убедился, что мой PendingIntent хорош. У меня были успешные заказы.
Update:
Вот моя электронная почта для клиентов, которые это видят. Похоже, что Android Market становится все лучше, так как в любом случае я получаю все меньше и меньше.
Здравствуйте,
Эта ошибка "отложенного ордера", к сожалению, является ошибкой в Android Market, которую я не могу контролировать.
Чтобы помочь им повысить приоритет этой проблемы, обратитесь в Google в следующую веб-форму.
http://www.google.com/support/androidmarket/bin/request.py?contact_type=market_phone_tablet
Вы можете сообщить им ссылку на ошибку 5126349, которая является их внутренним номером отслеживания для этого.
Ответы
Ответ 1
Несмотря на то, что существуют проблемы с биллингами в приложении, такими как ссылки, представленные здесь (я был активным комментатором по вопросу 39), есть и некоторые важные вещи, которые можно проверить, что может вызвать ответ 500 из Google.
А именно, "восстановить транзакции" и злоупотреблять этим вызовом. Злоупотребление этим вызовом выполняется для каждого пользователя, и я видел, что учетная запись google блокируется с 500 на несколько дней, что, безусловно, может произойти во время разработки для вас в зависимости от того, как вы реализуете.
Лучшим советом здесь является расширение ваших тестеров до большего числа пользователей (или устройств с различными основными учетными записями Google), работающих под разными версиями рынка Android. Если вы можете получить один положительный отзыв от кого-то, то, скорее всего, вы пойдете хорошо, а остальное - в дверь Google.