- Как исправить проблему с покупкой в приложении из Google Pay
- Самостоятельное решение проблемы
- Проверьте сетевое подключение
- Принудительный перезапуск приложения или игры
- Убедитесь, что оплата была осуществлена
- Перезагрузите устройство
- Обновление приложения из Play Маркет
- Убедитесь, что вы установили правильную дату и время
- Свяжитесь с разработчиком приложения
- Запрос на возврат средств
- Пользователи жалуются на проблемы с покупками в ваших приложениях? Попробуйте сервис внутриигровых покупок HUAWEI
- Что мы понимаем под проблемами с покупками в приложениях?
- К чему обычно приводят сбои при покупках?
- Интеграция сервиса HUAWEI IAP решит проблемы с покупками в ваших приложениях
- HUAWEI IAP: процесс покупки
- Стандартный процесс приобретения товаров:
- Как HUAWEI IAP осуществляет повторную доставку продукта
- Защита In-App Purchase для Android совершенна, почему работает Freedom?
- Почему не работают внутриигровые покупки?
Как исправить проблему с покупкой в приложении из Google Pay
В некоторых приложениях из Google Pay вы можете приобретать дополнительный контент или услуги. Мы называем это «покупка в приложении». Например, это может быть меч, который наносит больше урона в игре, ключ разблокировки дополнительных возможностей в бесплатном приложении или виртуальная валюта, которую можно использовать для покупок.
Если продукт, купленный в приложении, не был доставлен, не работает или не удается его скачать, вы можете:
- самостоятельно решить проблему
- связаться с разработчиком приложения и попросить его о помощи
- отправить запрос на возврат средств
Самостоятельное решение проблемы
Если выполнение описанных ниже действий не решит проблему, свяжитесь с разработчиком, чтобы получить помощь.
Проверьте сетевое подключение
Убедитесь, что у вас есть активное подключение Wi-Fi или к сети сотовой связи. Проще всего это сделать с помощью функции поиска в интернете. Выполните любой поиск в браузере. Если вы увидите ответ поисковой системы, скорее всего, проблема не связана с подключением к интернету.
Если поиск не работает, вы можете иметь проблемы с подключением к интернету. Попробуйте решить проблемы с подключением.
Принудительный перезапуск приложения или игры
Если вы не получите продукта, приобретенного в приложении или игре, закройте их и запустите снова.
- Откройте на устройстве главное приложение Настройки.
- Нажмите Приложения или Управление приложениями (название может отличаться в зависимости от устройства).
- Нажмите на приложение, которое применялось для совершения покупки.
- Нажмите Остановить .
Убедитесь, что оплата была осуществлена
Если Ваш платеж не был должным образом обработан, вы не получите продукта, приобретенного в приложении. Проверьте статус платежа в Магазин приложений Play или на веб-сайте Google Play:
В приложении «Play Маркет»:
- На телефоне или планшете Android откройте приложение Play Маркет.
- Выберите Меню → Учетная запись.
- Нажмите Журнал покупок, чтобы проверить свои заказы.
- На компьютере откройте страницу учетной записи Google Play
- Прокрутите вниз до раздела «История покупок».
- Посмотрите на эту покупку в приложении.
Перезагрузите устройство
Иногда перезагрузка устройства может помочь в решении проблемы с покупкой в приложении.
Чтобы перезагрузить устройство:
- На мобильном устройстве нажмите и удерживайте кнопку питания.
- Нажмите Выключить или Перезагрузить (на некоторых устройствах текст может быть другой).
- При необходимости снова нажмите и удерживайте кнопку питания, чтобы включить устройство.
- Дождитесь запуска устройства.
- Снова откройте приложение или игру и убедитесь, что покупка была доставлена.
Обновление приложения из Play Маркет
Покупки в приложениях работают лучше всего, когда вы используете последнюю версию Магазина Google Play.
Чтобы обновить эту программу:
- На телефоне или планшете Android откройте приложение Google Play.
- Нажмите Меню → Настройки → Версия сборки или Версия Play Маркет.
- Эти варианты находятся, как правило, в нижней части списка параметров.
- Приложение предложит обновиться или сообщит, что установлена актуальная версия.
Убедитесь, что вы установили правильную дату и время
Если вы недавно изменили дату и время на устройстве, убедитесь, что они правильные:
- На телефоне или планшете Android откройте приложение Настройки.
- Нажмите Дата и время.
Если функции «Автоматическая настройка» и «Часовой пояс сети» отключены:
- Включите обе опции.
- Подождите несколько минут и проверьте, устранена ли проблема.
- Если нет, то перезагрузите устройство и проверьте ещё раз.
Если функции «Автоматическая настройка» и «Часовой пояс сети» включены:
- Если обе опции включены, то, вероятно, проблема не связана с датой и временем. Проверьте подключение к интернету и перезапустите устройство или попробуйте другие решения.
Свяжитесь с разработчиком приложения
Если у вас возникли проблемы с покупкой в приложении, и вы хотите оставить отзыв или получить помощь, вы можете связаться с разработчиком приложения.
Свяжитесь с разработчиком приложения, если вы хотите:
- получить помощь в решении проблемы с приложением или игрой;
- узнать больше об использовании приложения;
- добавить покупку в приложении к своей учетной записи;
- спросить о покупке в приложении, которая не была доставлена;
- получить помощь в решении проблемы со входом в приложении.
Запрос на возврат средств
В зависимости от покупки и проблемы вы можете получить возмещение потраченных средств. Больше информации вы найдете в статье, о возврате продуктов и средств в Google Play.
Источник
Пользователи жалуются на проблемы с покупками в ваших приложениях? Попробуйте сервис внутриигровых покупок HUAWEI
Что мы понимаем под проблемами с покупками в приложениях?
Проблемы с покупками – это когда пользователь не получает приобретенный товар из-за ошибки (например, ошибки соединения) при синхронизации данных между приложением и сервером для покупок в приложении.
Проблемы с покупками наносят ущерб как пользователям, так и разработчикам. В результате приложение получает низкий рейтинг и негативные отзывы в магазине, а разработчик теряет пользователей, включая потенциальных новых пользователей, ведь они даже не попробуют установить ваше приложение. Такой исход, конечно же, крайне нежелателен.
К чему обычно приводят сбои при покупках?
Пользователи жалуются, что они оплатили, но не получили покупки и требуют вернуть деньги. В таком случае, ваше приложение потеряет доверие пользователей.
Интеграция сервиса HUAWEI IAP решит проблемы с покупками в ваших приложениях
Использование сервиса HUAWEI IAP гарантирует пользователю получение оплаченной покупки.
Приложение использует API сервиса HUAWEI IAP для получения информации о заказе от сервера HUAWEI IAP. Сервер вернет информацию о заказах, которые были оплачены, но не получены через приложение, а затем произойдет повторная доставка продуктов на основании результата запроса. После чего, сервер обновит статус совершения покупки.
Для интеграции сервиса воспользуйтесь следующими инструкциями:
HUAWEI IAP: процесс покупки
В случае с оплаченными товарами, приложение вызовет соответствующий API для использования продукта. Если вызов API не удался, доставка продукта не состоится. В случае приобретения нерасходуемых покупок и подписок проблем с доставкой не возникнет.
Стандартный процесс приобретения товаров:
Пользователь создает запрос на покупку в вашем приложении, а ваше приложение затем направляет этот запрос в HMS Core (APK).
Запрос доставки. Проверка подписи в данных о покупке перед доставкой запрошенного продукта.
Доставка покупки и отправка токена на сервер вашего приложения. Этот токен используется для получения статуса доставки покупки. Таким образом, вы сможете понять, необходима ли повторная доставка, если при покупке произошла ошибка.
После того, как продукт успешно доставлен пользователю, вызовите метод API consumeOwnedPurchase для использования продукта и отправки уведомления на сервер Huawei IAP для обновления статуса доставки. Токен purchaseToken передается в запросе вызова API и, после того, как покупка использована пользователем, сервер Huawei IAP изменяет статус продукта на «доступно для покупки». После этого продукт можно купить заново.
Кроме метода API consumeOwnedPurchase, предоставленного IAP клиентом, ваше приложение также может воспользоваться API от IAP сервера для использования продукта. Чтобы узнать об этом более подробно, смотрите раздел Подтверждение покупки для сервиса заказов.
Как HUAWEI IAP осуществляет повторную доставку продукта
HUAWEI IAP поможет вам повторно доставить расходуемую покупку при сбоях доставки, которые возникли из-запроблем с синхронизацией данных (ошибки соединения, завершение процесса и др.) между вашим приложением и сервером IAP. На рисунке показан процесс доставки.
Ваше приложение требует активации повторной доставки в следующих случаях:
Код результата -1 (OrderStatusCode. ORDER_STATE_FAILED) вернулся в ответ на запрос о покупке.
Код результата 60051 (OrderStatusCode. ORDER_PRODUCT_OWNED) вернулся в ответ на запрос о покупке.
Функция повторной доставки реализуется следующим образом:
Шаг 1. Используйте obtainOwnedPurchases для получения информации о покупке для оплаченных, но не доставленных товаров. Укажите priceType равный 0 в OwnedPurchasesReq.
Если вызов API прошел успешно, HUAWEI IAP вернет объект OwnedPurchasesResult, содержащий данные о покупке и подписи по всем приобретенным, но не доставленным продуктам. Используйте публичный ключ в AppGallery Connect для проверки подписи. Подробную информацию о способе проверки можно найти в разделе «Проверка подписи при возвращении результата».
Данные о каждой покупке представляют собой строку символов в формате JSON, которая содержит параметры, указанные в InAppPurchaseData. Вам нужно распарсить поле purchaseState из строки символов InAppPurchaseData. Если purchaseState покупки равен 0 — то покупка успешно состоялась и доставка будет выполнена.
Шаг 2. Вызовите метод API consumeOwnedPurchase для использования доставленного продукта.
Шаг 3. Подтвердите доставку для всех запрошенных продуктов через метод API obtainOwnedPurchases. Если продукт уже доставлен, вызовите метод API consumeOwnedPurchase для использования продукта и дайте инструкцию серверу Huawei IAP для обновления статуса доставки. После использования продукта, сервер Huawei IAP изменяет статус продукта на «доступно для покупки», позволяя купить его снова.
Для получения более подробной информации перейдите по ссылкам:
Адреса репозиториев с открытым исходным кодом с образцами интеграции HMS: GitHub и Gitee
Подпишитесь на нас, чтобы получать информацию о новейших технологиях HMS.
Источник
Защита In-App Purchase для Android совершенна, почему работает Freedom?
Хочу добавить внутриигровые покупки в Android приложение. Почитал документацию. Я вижу что схема, которую использует Google криптографически стойкая. Ответ подписывается закрытым ключом приложения на сервере гугла, что гарантирует что ни кто не может по середине изменить или подделать ответ сервера. Также в запросе мы можем передавать случайную строку и проверять ее в ответе, это гарантирует что нам не подсовывают какой либо прошлый(другой) валидный ответ сервера.
Т.е. чтобы следовать схеме нам достаточно генерировать случайную строку и проверять ее в ответе и проверять подпись ответа своим открытым ключом и все это делать достаточно в самой apk.
Но я вижу что весь интернет забит проблемами взлома внутриигровых покупок. Люди легко ломают их с помощью Freedom или чего то подобного, хотя эта схема на сколько я понял была всегда такой. Многие пытаются защититься и создают специально сервер, чтобы делать проверку покупок на нем. Хотя если разработчики боятся что apk взломают и обойдут в ней проверку подписи или изменят открытый ключ, то с таким же успехом в ней могут и поменять все общение с игровым сервером. В том или ином случаи, тут нужна какая либо обфускация, чтобы сделать это просто трудным.
Вопросы:
1) Собственно вопрос, почему работает Freedom, большинство разработчики просто забивают на элементарную проверку подписи?
2) Почему люди городят дополнительно сервер, который только и проверяет валидность покупок?
3) Может я что то упускаю и проверка подписи в apk не достаточно?
Update: При более внимательном просмотре, я увидел, что Google все таки не использует стандартную схему маркер + подпись для всех запросов. Freedom конечно работать не будет если проверять подпись, но из-за того что Google привязал developerPayload и подпись к конкретной покупке, а не к запросу, открывается куча вариантов для атаки человек по середине для запросов: получения списка всех покупок, который совершается на старте приложения и потребления покупок. Почему Google сделал такую «не правильную» схему для меня остается загадкой 🙁
Источник
Почему не работают внутриигровые покупки?
Не получается протестировать внутриигровые покупки в Андроид приложении. Пишу на C#, но на данный момент полагаю что ошибка не в компоненте от Xamarin. Вызов метода BillingHandler.QueryInventoryAsync(), который должен возвращать список возможных покупок, возвращает пустой список.
Что я сделал:
1) Добавил в код public key.
2) В аккаунте разработчика добавил e-mail тестового аккаунта.
3) Создал внутриигровые покупки и активировал их.
4) Собрал в Release, опубликовал и залил в alpha версию.
5) Установил эту же версию на телефон.
То есть вроде как делаю всё по инструкции, но тем не менее список покупок остаётся пустым. Может я что-то упустил? Или проблема всё таки с Xamarin?
- Вопрос задан более трёх лет назад
- 4759 просмотров
2) В аккаунте разработчика добавил e-mail тестового аккаунта.
это не влияет на ваш случай, это только для того чтобы деньги не списывались при тесте
3) Создал внутриигровые покупки и активировал их.
проверьте чтобы они были именно в активном состоянии
4) Собрал в Release, опубликовал и залил в alpha версию.
так же проверьте что приложение именно опубликовано а не черновик
5) Установил эту же версию на телефон.
versionCode должен совпадать с тем что в текущий момент в маркете (versionName вроде не важен)
Ждете 2-3 часа, чтобы гугл обновил кеш
Если это не помогает еще можете сделать себя тестером: на вкладке авльфа канала нажмите на ссылку управления тестерами, в открывшемся окне будет снизу ссылка типа https://play.google.com/apps/testing/ откройте ее и станете «тестером» и можете попробовать установить прямо из маркета версию для проверки.
В целом делал биллинг месяц назад (на нативном приложении) эти шагов более чем достаточно чтобы тестировать платежи.
Источник