Вам следует тестировать интеграцию на протяжении всего процесса разработки. Для тестирования на этапе разработки мы рекомендуем использовать инструменты тестирования лицензий и Play Billing Lab для отработки сценариев, описанных в этом разделе.
Тестировщики лицензий
Для настройки средств тестирования лицензий см. раздел «Тестирование внутриприложенийных платежей с помощью лицензирования приложений» .
Использование программ для тестирования лицензий предоставляет следующие преимущества:
- Обычно библиотека Google Play Billing блокируется для приложений, которые не подписаны и не загружены в Google Play. Тестировщики лицензий могут обойти эту проверку, а это значит, что вы можете устанавливать приложения для тестирования, даже для приложений, использующих отладочные сборки с отладочными подписями, без необходимости загрузки в новую версию вашего приложения. Обратите внимание, что имя пакета должно совпадать с именем приложения, настроенного для Google Play, а учетная запись Google должна быть учетной записью тестировщика лицензий в консоли Google Play.
- Тестировщики лицензий имеют доступ к тестовым способам оплаты, которые позволяют избежать списания с них реальных денег за покупки. Также можно использовать тестовые способы оплаты для имитации определенных ситуаций, например, когда платеж отклонен. На рисунке 1 показаны эти тестовые формы оплаты в процессе покупки.
- Специалисты по тестированию лицензий могут быстро проверить функции подписки .

Вот еще несколько подробностей о процессе покупки тестовой версии:
- При тестовых покупках используется тот же процесс оформления заказа в приложении, что и при реальных покупках.
- Налоги не рассчитываются для тестовых покупок.
- Google Play обозначает тестовую покупку, отображая уведомление в центре диалогового окна покупки.
Вы можете подтвердить учетную запись, совершающую покупку, развернув диалоговое окно покупки. Обратите внимание на следующее:
- Тестовые учетные записи должны быть установлены на устройстве тестировщика под управлением Android.
- Если на устройстве зарегистрировано несколько учетных записей, покупка совершается с использованием той учетной записи, с которой было загружено приложение.
- Если ни один из аккаунтов не скачал приложение, покупка совершается с использованием первого аккаунта.
Перед распространением приложения вы можете использовать тестовые площадки Google Play для дополнительной проверки. Например, вы можете использовать тестовые площадки, чтобы ваша команда контроля качества проверила новую версию приложения.
С помощью тестовых версий пользователи могут установить ваше приложение из Google Play и протестировать версию, которая еще не доступна публично. Пользователи также могут совершать реальные покупки, используя любой из своих способов оплаты в Google Play.
Чтобы протестировать интеграцию библиотеки Google Play Billing с помощью тестовых треков, выполните следующие действия:
- Опубликуйте свое приложение в тестовой среде . Обратите внимание, что после публикации приложения в тестовой среде может потребоваться несколько часов, прежде чем оно станет доступно для тестировщиков.
- Убедитесь, что каждый тестировщик дал согласие на участие в тестировании вашего приложения . На странице регистрации тестировщики увидят объяснение того, что значит быть тестировщиком, а также ссылку для регистрации.
Вы можете протестировать интеграцию на любом устройстве под управлением Android с версией Android 1.6 или выше. На устройстве должна быть установлена самая актуальная версия приложения Google Play. Общую информацию о настройке устройства для разработки приложений Android см. в разделе «Использование аппаратных устройств» .
Play Billing Lab
Play Billing Lab — это приложение для Android, которое помогает разработчикам тестировать интеграцию с платежной системой Google Play. Оно предоставляет разработчикам удобный способ тестирования функций оплаты, ускорения интеграции и более уверенного запуска. Вы можете скачать и установить Play Billing Lab из Play Store .
Play Billing Lab позволяет выполнять следующие действия в процессе тестирования:
- Измените страну воспроизведения в Play Billing Lab и примените настройки к своему тесту. Это позволит тестировать пользовательские интерфейсы в разных странах/регионах независимо от того, где физически находится тестировщик.
- Протестируйте пробные или ознакомительные предложения несколько раз с одной и той же учетной записью.
- Протестируйте изменение цен на подписку, не затрагивая других активных подписчиков.
- Ускорьте переход между состояниями подписки , чтобы ускорить ее продление, или переведите тестовую подписку в льготный период или в состояние блокировки учетной записи одним щелчком мыши, чтобы ускорить тестирование.
- Протестируйте с использованием реальных способов оплаты , чтобы обойти определенные сигналы риска, связанные с процессом покупки.

Тестирование разовых продуктов
Тестирование расходных материалов
При тестировании расходных материалов следует проверять различные ситуации, включая следующие:
- Успешная покупка, при которой пользователь получает товар. С помощью тестера лицензий вы можете использовать тестовый инструмент, который всегда подтверждает способ оплаты.
- Покупка, при которой платеж не был списан, и пользователь не должен получить товар. С помощью инструмента тестирования лицензий можно использовать функцию проверки платежной системы, которая всегда отклоняет платеж.
- Убедитесь, что товары можно приобрести несколько раз.
Убедитесь, что покупки должным образом подтверждены в соответствии с описанием обработки покупок . В случае покупок у тестировщиков лицензий, возврат средств будет произведен через 3 минуты, если ваше приложение не подтвердит покупку, и вы получите электронное письмо об отмене. Вы также можете проверить вкладку «Заказы» в консоли Google Play, чтобы увидеть, был ли произведен возврат средств за заказ через 3 минуты.
Тестирование нерасходных товаров
Товары, не являющиеся расходными материалами, следует тестировать так же, как и расходные, но необходимо убедиться, что товар нельзя приобрести повторно в вашем приложении. Обязательно проверяйте подтверждение покупки как для товаров, не являющихся расходными материалами, так и для расходных материалов (если применимо), поскольку логика обработки каждого из этих типов покупок различается.
Тестирование ожидающих покупок
Протестируйте ожидающую покупку, при которой товар должен быть предоставлен, когда состояние покупки изменится PURCHASED . Тестировщики лицензий имеют доступ к двум инструментам тестирования для отложенных форм оплаты, при которых платеж автоматически завершается или отменяется через несколько минут.
Попробуйте совершить покупку с отложенным способом оплаты. Тестовая карта работает медленно, платеж отклоняется через несколько минут , как показано на рисунке 3. Перезапустите приложение и убедитесь, что покупка не была одобрена.

Рисунок 3. Проверка покупки с помощью отклоненной тестовой карты. Совершите покупку с отложенным способом оплаты. Тестовая карта с медленным вводом данных, подтверждение через несколько минут , как показано на рисунке 4. Подождите несколько минут, подтвердите, что покупка одобрена.

Рисунок 4. Проверка покупки с помощью одобренной тестовой карты для проверки медленного темпа покупок.
Более подробную информацию можно найти в разделе «Обработка ожидающих транзакций» .
Протестируйте функции, специфичные для данной подписки.
Процессы покупки разовых продуктов и подписок схожи, но подписки имеют дополнительные сценарии, такие как успешное или отклоненное продление подписки. Для тестирования продления можно использовать доступные для тестировщиков лицензий способы оплаты «Тестовая карта (всегда одобряет)» и «Тестовая карта (всегда отклоняет)», как показано на рисунке 1. Используйте эти платежные инструменты для тестирования сценариев, выходящих за рамки сценария успешной подписки.
Аналогично разовым покупкам, убедитесь, что они должным образом подтверждены в соответствии с описанием обработки покупок . В случае покупок у тестировщиков лицензий, возврат средств происходит через 3 минуты, если ваше приложение не подтверждает покупку, и вы получаете электронное письмо об отмене. Вы также можете проверить вкладку «Заказы» в Google Play Console, чтобы узнать, был ли произведен возврат средств через 3 минуты.
Периоды продления
Тестовые подписки продлеваются быстрее, чем основные, и могут быть продлены максимум шесть раз, не считая бесплатных пробных периодов и ознакомительных периодов.
В таблице ниже указано время тестирования продления подписок различной продолжительности. Это приблизительное время. Возможны небольшие расхождения в точном времени события. Для компенсации этих расхождений, после каждой даты истечения срока действия подписки, пожалуйста, воспользуйтесь API для просмотра текущего статуса.
| Период подписки на производство | Тестовое продление подписки |
| 1 неделя | 5 минут |
| 1 месяц | 5 минут |
| 3 месяца | 10 минут |
| 6 месяцев | 15 минут |
| 1 год | 30 минут |
Для тестирования также сокращаются сроки действия подписок с привязкой ко времени, например, бесплатных пробных периодов. В следующей таблице указаны периоды тестирования, связанные с функциями подписки с привязкой ко времени:
| Особенность | Период тестирования |
| блокировка счета | 10 минут |
| Бесплатная пробная версия | 3 минуты |
| Льготный период | 5 минут |
| Вводный ценовой период | Аналогично периоду тестирования подписки. |
| Пауза (1 месяц) | 5 минут |
| Пауза (2 месяца) | 10 минут |
| Пауза (3 месяца) | 15 минут |
| период согласия на повышение цены (Применимо только к региону Южной Кореи (КР)) | 3 минуты |
| Подтверждение покупки | 5 минут |
Ускорить переход между состояниями подписки
Вы также можете использовать Play Billing Lab и тестировщики лицензий, чтобы ускорить периоды продления тестовых подписок , ускорить тестирование подписок или перевести тестовую подписку в льготный период или состояние блокировки учетной записи для тестирования сценариев отклонения платежей , выполнив следующие шаги:
- На панели управления нажмите кнопку «Управление» в разделе «Настройки подписки» .
- Выберите активную подписку, которую хотите протестировать.
- Нажмите на выпадающее меню «Состояние подписки» .
- Щелкните по целевому состоянию, чтобы обновить состояние подписки.

После выбора целевого состояния подписки в выпадающем меню, вскоре обновится и тестовое состояние подписки.
Обратите внимание, что:
- Перед использованием функции ускоренного перехода между состояниями подписки необходимо подтвердить тестовые подписки.
- Ваш способ оплаты будет автоматически отклонен, когда вы переведете тестовую подписку в льготный период или в состояние блокировки учетной записи. При восстановлении тестовой подписки ваш способ оплаты снова будет автоматически подтверждаться.
- Процесс перехода между состояниями подписки может занять несколько секунд.
- Во время процесса перехода между состояниями подписки функция изменения цены подписки недоступна.
- Если вы продлеваете тестовую подписку во время действия изменения цены, Play применяет новую цену, если пользователь её принял. Однако, если новая цена требует подтверждения со стороны пользователя, а он ещё не согласился, Play отменяет подписку.
Пробные предложения
Функция тестирования пробных предложений Play Billing Lab позволяет тестировщику лицензий неограниченное количество раз тестировать и использовать бесплатные пробные или ознакомительные предложения, установив флажок « Тестировать бесплатную пробную или ознакомительную версию» и применив изменения. Это избавляет от необходимости создавать несколько учетных записей для тестирования пробного предложения, доступного только новым подписчикам.

Изменение цен
Вы также можете использовать Play Billing Lab и тестеры лицензий для проверки изменений цен на подписку, не затрагивая других активных подписчиков, выполнив следующие шаги:
- На панели управления нажмите кнопку «Управление» в разделе «Настройки подписки» .
- Выберите активную подписку, которую хотите протестировать.
- Введите новую цену.
- Установите или снимите флажок «Пользователь отказывается от участия» в соответствии с требованиями вашего тестирования.
- Нажмите «Применить» .

После применения внесенных изменений цена будет обновлена начиная со следующего продления только для тестировщика. На других активных подписчиков это не повлияет. Все правила для тестировщиков лицензий применяются к тестовой подписке. Затем тестировщик может проверить свое приложение на предмет процессов, запускаемых изменением цены, таких как уведомления об изменении цены.
При планировании тестовых периодов следует учитывать следующие моменты:
- Из-за короткого срока действия лицензий для тестировщиков возможно, что перенос цен, выполненный через консоль, не будет зарегистрирован для тестировщиков. Чтобы гарантировать возможность тестирования уведомлений об изменении цен и электронных писем, разработчикам следует отложить выставление счетов как минимум на один час после запуска изменения цены.
- Уведомления о снижении цен не предоставляются. Пользователи получают уведомление о снижении цены вскоре после перехода в другую группу. В ходе тестирования это осталось неизменным.
- При повышении цен время уведомления в тестовом режиме рассчитывается так же, как и при фактическом повышении:
- Первое списание средств с пользователя происходит в первую годовщину выставления счета после обязательного периода уведомления.
- Время уведомления рассчитывается в обратном порядке от даты первой зарядки.
- Окончательное уведомление всегда приходит за 1 минуту до списания средств, независимо от расчетного периода.
В таблице ниже показаны тестовые периоды выставления счетов и уведомлений для нескольких фактических расчетных периодов:
| Фактический расчетный период по базовому тарифному плану | Период выставления счетов за тестирование | Период уведомления о начале тестирования (для регионов с возможностью участия и без участия — 30 дней). | Срок уведомления о начале тестирования (для регионов, отказавшихся от участия, — 60 дней). |
| 1 неделя | 5 минут | 5 минут | 10 минут |
| 1 месяц | 5 минут | 5 минут | 10 минут |
| 3 месяца | 10 минут | 3 минуты | 6 минут |
| 6 месяцев | 15 минут | 2 минуты | 4 минуты |
| 1 год | 30 минут | 3 минуты | 6 минут |
Согласие на повышение цены
Информация о повышении цены, требующем согласия пользователя, будет доступна вам через API purchases.subscriptionsv2.get .
Перед запуском повышения цены Google Play отправляет соответствующие уведомления (включая тестировщиков лицензий) в виде push-уведомлений и электронных писем. Период уведомления для тестировщиков следующий:
| график уведомлений | Период уведомления о тестировании |
| Первое уведомление | 3 минуты |
| Второе (последнее) уведомление | 1 минута |
Тестовые примеры
Разверните следующий раздел, нажав «Показать/Скрыть» , чтобы отобразить сценарии тестирования, которые следует использовать для проверки интеграции вашей подписки.
Тестирование ожидающих транзакций
Необходимо проверить корректность обработки ожидающих транзакций и правильность обновления прав доступа при переходе состояния покупки в состояние PURCHASED . Тестировщики лицензий имеют доступ к двум инструментам тестирования для отложенных форм оплаты, когда платеж автоматически завершается или отменяется через несколько минут.
Попробуйте совершить покупку с отложенным способом оплаты. Тестовая карта работает медленно, платеж отклоняется через несколько минут , как показано на рисунке 8. Перезапустите приложение и убедитесь, что покупка не была одобрена.

Рисунок 8. Проверка покупки с помощью отклоненной тестовой карты. Совершите покупку с отложенным способом оплаты. Тестовая карта с медленным вводом данных подтверждается через несколько минут , как показано на рисунке 9. Подождите несколько минут, чтобы убедиться, что покупка одобрена.

Рисунок 9. Проверка покупки с помощью одобренной тестовой карты для проверки медленного темпа покупок.
Тестовые промокоды
Вы можете использовать консоль Google Play для создания промокодов для собственного тестирования . Имейте в виду, что вы можете создать не более 500 промокодов в квартал для всех управляемых продуктов в приложении.
Вам следует протестировать следующие сценарии активации промокода:
- Когда промокод вводится в диалоговом окне покупки, открывшемся в вашем приложении.
- При активации промокода в приложении Google Play Store.
- Промокод активируется на сайте https://play.google.com/store с помощью кнопки «Активировать» в левой панели навигации.
В рамках этих сценариев следует протестировать активацию кодов как можно большим количеством способов. Выполните как минимум следующие тесты:
- Активация до установки приложения.
- Активация бонусов во время работы приложения в фоновом режиме. Обратите внимание, что для этого теста вам потребуется другое устройство для тестирования с использованием приложения Google Play Store. Обязательно протестируйте активацию бонусов на разных экранах вашего приложения.
- Активация в многооконном режиме , когда ваше приложение и приложение Google Play Store отображаются одновременно.
При каждом тестировании убедитесь, что элемент корректно обнаружен и пользователь уведомлен.
Протестируйте процесс покупки в разных регионах.
Вы можете протестировать процесс покупки как с использованием Play Billing Lab, так и без него:
Тестирование с
Приложение Play Billing Lab для Android позволяет протестировать процесс покупки в любом регионе. Однако для использования Play Billing Lab необходимо быть лицензионным тестировщиком. Для тестирования выполните следующие шаги:
- Зарегистрируйте пользователя, осуществляющего оплату через приложение, в качестве тестировщика лицензий.
- Войдите в приложение Play Billing Lab под тем же именем пользователя.
- Выберите нужную страну и примените изменения в Play Billing Lab.
- Запустите процесс покупки в тестируемом приложении.

Тест без
Вы также можете протестировать процесс покупки в любом регионе, не используя Play Billing Lab. Для тестирования выполните следующие шаги:
- Создайте новый аккаунт Gmail. Аккаунт можно создать в любой стране.
- При желании вы можете настроить для пользователя программу проверки лицензий.
- Для тестирования подключитесь к VPN в нужной стране.
- Запустите процесс покупки.
Вы можете очистить данные и кэш Play Store, а затем повторить шаги №3 и №4 для любой страны, которую хотите протестировать. После переключения на новую страну вам потребуется очистить данные Google Play Store, чтобы удалить данные, относящиеся к предыдущей стране.
Оба этих метода тестирования покупок позволяют проверить региональную доступность предложения и удобство использования в любом регионе, независимо от того, где вы физически проводите тестирование.
Проверьте процесс покупки, используя реальные способы оплаты.
Вы можете протестировать процесс покупки с использованием реальных способов оплаты с помощью приложения Play Billing Lab для Android.
Выполните следующие шаги для проверки реальных способов оплаты:
- Зарегистрируйте пользователя учетной записи Google в качестве тестировщика лицензий.
- Войдите в приложение Play Billing Lab под тем же именем пользователя.
- Включите возможность оплаты реальными способами в приложении Play Billing Lab.
- Перезапустите и запустите процесс покупки в тестируемом приложении.