Тестирование интеграции должно проводиться на протяжении всего процесса разработки. Чтобы протестировать сценарии из этого раздела на этапе разработки, рекомендуем использовать тестировщиков лицензий и Play Billing Lab.
Лицензия для тестировщиков
Подробнее о том, как тестировать оплату контента с помощью лицензирования приложений…
Тестирование лицензий дает следующие преимущества:
- Обычно библиотека Google Play Платежей заблокирована для приложений, которые не подписаны и не загружены в Google Play. Тестировщики лицензий могут обойти эту проверку. Это значит, что вы можете устанавливать приложения из неизвестных источников для тестирования, даже если они используют отладочные сборки с отладочными подписями, без необходимости загружать новую версию приложения. Обратите внимание, что название пакета должно совпадать с названием приложения, настроенного для Google Play, а аккаунт Google должен быть тестировщиком лицензий для аккаунта Google Play Console.
- Тестировщики лицензий имеют доступ к тестовым способам оплаты, которые позволяют не списывать реальные деньги за покупки. Вы также можете использовать тестовые способы оплаты, чтобы смоделировать определенные ситуации, например отклонение платежа. На рисунке 1 показано, как эти тестовые способы оплаты выглядят в процессе покупки.
- Тестировщики лицензий могут быстро проверять функции подписок.
Вот ещё несколько важных деталей о тестовых покупках:
- Тестовые покупки используют тот же процесс покупки в приложении, что и настоящие.
- Налоги для тестовых покупок не рассчитываются.
- В Google Play тестовая покупка обозначается уведомлением в центре диалогового окна.
Чтобы проверить, какой аккаунт используется для покупки, разверните диалоговое окно покупки. объявлений.
- Тестовые аккаунты должны быть добавлены на устройство Android тестировщика.
- Если на устройстве несколько аккаунтов, покупка будет совершена через тот, в котором было скачано приложение.
- Если ни в одном из аккаунтов приложение не скачивалось, покупка будет совершена в первом аккаунте.
Используйте типы тестирования в Google Play для проверки перед распространением, например чтобы позволить команде контроля качества оценить новые выпуски. Тестировщики лицензий могут устанавливать и оценивать невыпущенные версии вашего приложения из Google Play. Обычные пользователи могут совершать реальные покупки, используя стандартные способы оплаты.
Чтобы протестировать интеграцию библиотеки Google Play Платежей с помощью тестовых версий, выполните следующие действия:
- Опубликуйте приложение в канале тестирования. Обратите внимание, что после публикации приложения в тестовой версии оно может стать доступно тестировщикам только через несколько часов.
- Убедитесь, что каждый тестировщик согласился участвовать в тестировании. Перейдя по URL регистрации, пользователи увидят перечень своих обязанностей и ссылку для регистрации.
Вы можете протестировать интеграцию на любом устройстве Android с версией ОС 1.6 или более поздней. На устройстве должна быть установлена последняя версия приложения Google Play. Общие сведения о том, как настроить устройство для разработки приложений для Android, можно найти в статье Использование аппаратных устройств.
Play Billing Lab
Play Billing Lab – это приложение для Android, которое помогает разработчикам тестировать интеграцию с платежной системой Google Play. С его помощью разработчики могут тестировать платежные функции, быстрее интегрировать их и увереннее запускать. Скачать и установить Play Billing Lab можно из Google Play.
Play Billing Lab позволяет:
- Измените страну в Google Play в Play Billing Lab и примените настройки к тесту. Это позволяет тестировать пользовательские интерфейсы в разных странах и регионах независимо от того, где физически находится тестировщик.
- Тестировать пробные версии или предложения для новых пользователей несколько раз с одним и тем же аккаунтом.
- Тестировать изменения цен на подписки, не затрагивая других активных подписчиков.
- Ускорение перехода между состояниями подписки. Вы можете ускорить продление подписки или одним нажатием перевести тестовую подписку в льготный период или состояние временной блокировки аккаунта.
- Тестирование с настоящими способами оплаты, чтобы обойти некоторые сигналы риска в процессе покупки.
- Протестируйте покупки вне приложения, чтобы убедиться, что ваш сервер может их обрабатывать.
Тестирование контента для однократных покупок
Как тестировать расходуемый контент
При тестировании расходуемого контента проверьте различные ситуации, в том числе следующие:
- Успешная покупка, в результате которой пользователь получает товар. В аккаунте тестировщика лицензий можно использовать способ оплаты Тестовый платежный инструмент, всегда одобряется.
- Покупка, при которой не удалось списать средства с помощью способа оплаты и пользователь не должен получить товар. Тестировщик лицензий может использовать способ оплаты Тестовый инструмент, всегда отклоняется.
- Убедитесь, что товары можно покупать несколько раз.
Убедитесь, что покупки подтверждаются правильно, как описано в разделе Обработка покупок. Если покупка совершена тестировщиком лицензий, то средства будут возвращены через три минуты, если приложение не подтвердит покупку. Вы получите электронное письмо об отмене. Вы также можете проверить вкладку Заказы в Google Play Console, чтобы узнать, был ли выполнен возврат средств по истечении трех минут.
Тестирование контента, приобретаемого однократно
Тестирование контента длительного пользования выполняется так же, как и в случае с расходуемым контентом. Однако вам необходимо убедиться, что контент длительного пользования нельзя купить повторно. Обязательно проверьте подтверждение покупки для обоих типов контента, поскольку логика их обработки различается.
Как тестировать незавершенные покупки
Протестируйте незавершенную покупку, при которой товар должен быть предоставлен, когда статус покупки изменится на PURCHASED. Тестировщики лицензий имеют доступ к двум тестовым инструментам для отложенных способов оплаты, при которых платеж автоматически завершается или отменяется через несколько минут.
Совершите покупку, используя способ оплаты с задержкой Slow test card, declines after a few minutes (Тестовая карта с задержкой, отклоняется через несколько минут), как показано на рисунке 3. Перезапустите приложение и убедитесь, что покупка не была предоставлена.
Рисунок 3. Протестируйте покупку с помощью тестовой карты, которая отклоняется с задержкой. Совершите покупку, используя способ оплаты с задержкой Slow test card, approves after a few minutes (Тестовая карта с задержкой, одобрение через несколько минут), как показано на рисунке 4. Подождите несколько минут и убедитесь, что покупка была предоставлена.
Рисунок 4. Протестируйте покупку с помощью одобренной тестовой карты с медленной обработкой.
Подробнее об обработке ожидающих транзакций…
Как протестировать возврат платежа, инициированный пользователем
Тестировщики лицензий могут использовать тестовый инструмент, который позволяет имитировать чарджбэк, инициированный пользователем.
Совершите покупку с помощью тестового способа оплаты С карты списывается тестовый платеж, а после его одобрения средства возвращаются, как показано на рисунке 5. Вскоре после этого ваша система должна получить уведомление о том, что тестовая покупка доставлена и по ней выполнен возврат платежа. Например, вы должны получить уведомление PendingRefundReviewNotification сразу после совершения покупки.
Рисунок 5. Протестируйте покупку с помощью тестовой карты, которая одобряет платеж, а затем возвращает средства.
Тестирование функций, связанных с подписками
Процессы покупки контента для однократных покупок и подписок похожи, но для подписок предусмотрены дополнительные сценарии, например успешное или неуспешное продление. Чтобы протестировать продление, используйте способы оплаты Тестовая карта, всегда подтверждать и Тестовая карта, всегда отклонять, доступные для тестировщиков лицензий (см. рисунок 1). Используйте эти способы оплаты, чтобы протестировать сценарии, отличные от успешного оформления подписки.
Как и в случае с контентом для однократных покупок, убедитесь, что покупки обрабатываются правильно, как описано в разделе Обработка покупок. Если покупка совершена тестировщиком лицензий, а ваше приложение не обработало ее, то через три минуты средства будут возвращены, а вы получите электронное письмо об отмене. Вы также можете проверить вкладку Заказы в 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 и тестировщиков лицензий, чтобы ускорить периоды продления тестовых подписок и быстрее протестировать подписки. Кроме того, вы можете перевести тестовую подписку в льготный период или временно заблокировать аккаунт, чтобы протестировать сценарии отклонения платежа. Для этого выполните следующие действия:
- На панели управления найдите карточку Настройки подписки и нажмите Управление.
- Выберите активную подписку, которую хотите протестировать.
- Нажмите на раскрывающееся меню Статус подписки.
- Нажмите на целевое состояние, чтобы обновить состояние подписки.
После того как вы выберете целевой статус тестовой подписки в раскрывающемся меню, он вскоре обновится.
Примечания
- Прежде чем использовать функцию ускорения перехода между состояниями подписки, необходимо подтвердить тестовые подписки.
- При переводе тестовой подписки в состояние льготного периода или временной блокировки аккаунта ваш способ оплаты будет автоматически отклоняться. Когда вы восстановите тестовую подписку, для вашего способа оплаты снова будет включено автоматическое одобрение.
- Процесс перехода подписки в другое состояние может занять несколько секунд.
- Пока выполняется переход, функция изменения цены подписки недоступна.
- Если вы продлите тестовую подписку, когда действует изменение цены, Google Play применит новую цену, если пользователь согласился с ней. Однако если новая цена требует согласия пользователя, а он его ещё не дал, Google Play отменит подписку.
Пробные подписки
С помощью функции тестирования пробных предложений в Play Billing Lab тестировщик лицензий может неограниченное количество раз тестировать и использовать бесплатные пробные или ознакомительные предложения, установив флажок Протестировать бесплатный пробный период или предложение для новых пользователей и применив изменения. Это избавляет от необходимости создавать несколько аккаунтов, чтобы протестировать пробную версию, доступную только новым подписчикам.
изменения в ценах;
Вы также можете использовать Play Billing Lab и тестировщиков лицензий для тестирования изменения цены подписки, не затрагивая других активных подписчиков. Для этого выполните следующие действия:
- На панели управления найдите карточку Настройки подписки и нажмите Управление.
- Выберите активную подписку, которую хотите протестировать.
- Укажите новую цену.
- Установите или снимите флажок Отказ пользователя в соответствии с требованиями тестирования.
- Нажмите Применить.
После применения изменений цена обновится со следующего продления только для тестировщика. Другие активные подписчики не будут затронуты. К тестовой подписке применяются все правила для тестировщиков лицензий. После этого тестировщик может проверить, как приложение реагирует на изменение цены, например отправляет ли уведомления.
При планировании тестовых периодов учитывайте следующее:
- Из-за короткого периода продления для тестировщиков лицензий изменение цены, выполненное в Play Console, может не зарегистрироваться для них. Чтобы протестировать уведомления и электронные письма об изменении цены, разработчикам следует отложить выставление счетов как минимум на один час после изменения цены.
- Для снижения цены период уведомления не предусмотрен. Пользователи получат уведомление о снижении цены вскоре после переноса когорты. Во время тестирования это не меняется.
- Для повышения цен время тестовых уведомлений рассчитывается так же, как и для фактического повышения:
- Новая цена начнет действовать с первой даты продления после обязательного периода уведомления.
- Время отправки уведомлений рассчитывается в обратном порядке от даты первого списания.
- Последнее уведомление всегда отправляется за минуту до списания средств, независимо от расчетного периода.
В таблице ниже показаны тестовые расчетные периоды и периоды уведомлений для нескольких фактических расчетных периодов.
| Фактический расчетный период основного плана | Тестовый расчетный период | Период тестирования уведомлений (регионы с согласием и отказом с уведомлением за 30 дней) | Период уведомления о тестировании (регионы с возможностью отказа, где требуется уведомление за 60 дней) |
| 1 неделя | 5 минут | 5 минут | 10 минут; |
| 1 месяц | 5 минут | 5 минут | 10 минут; |
| 3 месяца | 10 минут; | 3 минуты | 6 минут |
| 6 месяцев | 15 минут | 2 минуты | 4 минуты |
| 1 год | 30 минут | 3 минуты | 6 минут |
Согласие на повышение цены
Информация о повышении цены, требующем согласия пользователя, будет доступна в purchases.subscriptionsv2.get API.
Google Play отправляет пользователям (в том числе тестировщикам лицензирования) два push-уведомления и электронных письма о повышении цены до того, как оно вступит в силу. Сроки уведомления о тестировании:
| Расписание уведомлений | Период тестовых уведомлений |
| Первое уведомление | 3 минуты |
| Второе (последнее) уведомление | 1 минута |
Отчеты о тестировании
Чтобы посмотреть сценарии тестирования, которые можно использовать для проверки интеграции подписок, разверните раздел ниже, нажав Показать/скрыть.
Тестирование транзакций в обработке
Проверьте, правильно ли обрабатываются транзакции в обработке и обновляются ли права доступа, когда статус покупки меняется на PURCHASED. Тестировщики лицензий имеют доступ к двум тестовым инструментам для способов оплаты с отложенным подтверждением, которые автоматически выполняются или отменяются через несколько минут.
Совершите покупку, используя способ оплаты с задержкой Slow test card, declines after a few minutes (Тестовая карта с задержкой, отклоняется через несколько минут), как показано на рисунке 9. Перезапустите приложение и убедитесь, что покупка не была предоставлена.
Рисунок 9. Протестируйте покупку с помощью тестовой карты, которая отклоняется с задержкой. Совершите покупку, используя способ оплаты с задержкой Slow test card, approves after a few minutes (Тестовая карта с задержкой, одобрение через несколько минут), как показано на рисунке 10. Подождите несколько минут и убедитесь, что покупка была предоставлена.
Рисунок 10. Протестируйте покупку с помощью одобренной тестовой карты с медленной обработкой.
Тестовые промокоды
Вы можете использовать Google Play Console, чтобы создавать коды для тестирования. Обратите внимание, что для всех видов контента в приложении можно создать не более 500 промокодов в квартал.
Протестируйте следующие сценарии активации промокодов:
- Когда промокод вводится в диалоговом окне покупки, которое было запущено в вашем приложении.
- Когда промокод активируется в приложении Google Play.
- Промокод активируется на сайте https://play.google.com/store с помощью кнопки Активировать на панели навигации слева.
В рамках этих сценариев протестируйте как можно больше способов активации кодов. Выполните как минимум следующие тесты:
- Активация до установки приложения.
- Активация, когда приложение работает в активном режиме. Обратите внимание, что для этого теста вам понадобится другое устройство с приложением Google Play. Обязательно проверьте активацию на разных экранах приложения.
- Активация в многооконном режиме, когда на экране одновременно открыты ваше приложение и Google Play.
Убедитесь, что в каждом случае предмет обнаружен правильно и пользователь получил уведомление.
Протестируйте процесс покупки в разных регионах
Вы можете протестировать процесс покупки в разных регионах с помощью приложения Play Billing Lab. Для этого нужно быть тестировщиком лицензий. Чтобы выполнить проверку, сделайте следующее:
- Зарегистрируйте пользователя, который будет совершать покупки в приложении, как тестировщика лицензий.
- Войдите в приложение Play Billing Lab, используя тот же аккаунт.
- Выберите нужную страну и примените изменения в Play Billing Lab.
Запустите процесс покупки в тестируемом приложении.
Рисунок 11. Протестируйте процесс покупки в разных регионах.
Play Billing Lab позволяет тестировать доступность специальных предложений в разных регионах и удобство их использования независимо от того, где вы находитесь.
Протестируйте процесс покупки, используя настоящие способы оплаты
Вы можете протестировать процесс покупки с настоящими способами оплаты в приложении Play Billing Lab для Android.
Чтобы протестировать настоящие способы оплаты, выполните следующие действия:
- Зарегистрируйте пользователя аккаунта Google в качестве тестировщика лицензий.
- Войдите в приложение Play Billing Lab, используя тот же аккаунт.
- Включите настоящие способы оплаты в приложении Play Billing Lab.
- Перезапустите приложение и начните процесс покупки.
Лимиты расходов для неопубликованных приложений
Для приложений, которые находятся на стадии черновика или опубликованы в канале внутреннего тестирования, действуют лимиты расходов.
В Google Play действуют ограничения на:
- Транзакции в день. Количество транзакций, которые пользователь может совершить за день во всех неопубликованных приложениях.
- Стоимость заказа. Максимальная сумма отдельной транзакции.
- Общие ежедневные расходы. Совокупные ежедневные расходы пользователя во всех неопубликованных приложениях.
Ограничения сбрасываются каждые 24 часа.
Если пользователь превысит любой из этих лимитов при тестировании приложения, он увидит сообщение об ошибке в корзине, а транзакция будет заблокирована.
Тестировать покупки вне приложения
Чтобы протестировать весь процесс получения прав, приобретенных за пределами приложения, используйте Play Billing Lab. Для этого вы должны быть тестировщиком лицензий для проверяемого приложения.
Шаг 1. Настройте тестирование
- Зарегистрируйте пользователя, который будет совершать покупки в приложении, как тестировщика лицензий.
- Откройте Google Play и войдите в тот же аккаунт.
- Откройте приложение Play Billing Lab и войдите в него, используя тот же аккаунт.
- Выберите карточку Покупки вне приложения.
- При необходимости выберите страну для тестирования и примените изменения в Play Billing Lab.
- Если вы не выберете страну, Play Billing Lab будет использовать страну, указанную в Google Play для лицензированного тестового аккаунта.
- Укажите информацию о приложении и товаре (SKU), которые вы хотите протестировать.
- Выберите способ покупки, основной план или специальное предложение, которое хотите протестировать.
- Нажмите Начать эксперимент.
Шаг 2. Приобретите товар вне приложения
- Рекомендуемые товары
- Рекомендации в процессе покупки (после отказа от покупки)
- Награды Play Games
Шаг 3. Обработка и предоставление права доступа
Приложение должно обнаружить покупку вне приложения и предоставить соответствующему пользователю доступ к контенту. Подробнее об обработке покупок…
Рекомендуемые товары
- Откройте Google Play и войдите в тот же лицензированный аккаунт тестировщика, который вы использовали для настройки теста в Play Billing Lab.
- Если приложение Google Play было открыто, закройте и перезапустите его.
- Перейдите на страницу сведений о приложении.
- Объект показан на этой странице.
- Выберите товар и завершите покупку.
Рекомендации после покупки
После того как пользователь оставил корзину:
- Перезапустите приложение.
- Запустите процесс покупки контента для однократных покупок в приложении.
- Закрыть или покинуть диалоговое окно корзины, не завершив транзакцию.
- Проверьте, показывается ли рекомендация.
- Примите рекомендацию и завершите покупку.
Награды Play Games
Нажмите Предоставить бонус, чтобы симулировать предоставление бонуса пользователю в Google Play. Прежде чем вы сможете получить дополнительные бонусы, необходимо обработать уже имеющиеся.