Мне было интересно, как обнаружить возврат или любой тип отмены покупки в приложении (не подписки и не расходных материалов).
Сейчас я делаю свой тест, и когда я возвращаю деньги за тест в Google, вот так:
Покупка по-прежнему присутствует в billingClient.queryPurchaseHistoryAsync() (даже в queryPurchase()).
Как я могу обнаружить такие изменения и как отключить приложение для пользователей, которым был возвращен возврат?
Заранее спасибо.
Я не решил эту проблему. Но в ходе исследования я обнаружил, что есть API Google, чтобы это проверить. Вам необходимо отправить запрос на проверку состояния покупки. Я не тестировал. Может вам поможет эта ссылка: developers.google.com/android-publisher/api-ref/rest/v3/…
Спасибо за ваш ответ. Я знаю, что мы могли бы решить эту проблему с помощью внутренних серверов и службы Google API, как вы сказали. Но, похоже, без них нет решения. Благодарим Вас за подтверждение :)
Приходилось пробовать эту функцию
PurchasesUpdatedListener
Интерфейс прослушивателя для обновлений покупок, которые происходят, например, когда пользователь что-то покупает в приложении или инициирует покупку в Google Play Store.
void onPurchasesUpdated (int responseCode,
List<Purchase> purchases)
Реализуйте этот метод, чтобы получать уведомления об обновлениях покупок. Здесь будут указаны как покупки, инициированные вашим приложением, так и покупки, инициированные Play Store.
OnPurchases обновляется на developer.android
Да, я тестировал это, но если возврат происходит при закрытии приложения, он никогда не вызывается.
этот слушатель предназначен для обработки результатов от запуска потока покупки и потребления продуктов в приложении ... возможные коды ответа для этого метода находятся здесь: developer.android.com/reference/com/android/billingclient/ap i /… он не работает для обнаружения возвратов afaik ....
@Eric Вы нашли какое-нибудь решение? Эта библиотека действительно плохая ...
@Jenix нет, к сожалению, не нашел решения, но с тех пор прошло много времени.
@ Эрик, ясно ... Это грустно. Спасибо, в любом случае!
Я понимаю вашу озабоченность по поводу возвращенных товаров.
Если вы предлагаете внутриигровые продукты, вы можете использовать API аннулированных покупок, чтобы запросить список аннулированных покупок для ваших внутриигровых продуктов. Когда пользователь запрашивает возврат средств за покупки в приложении, вы можете увидеть, что было куплено, и забрать возвращенные цифровые товары у этого пользователя.
Чтобы защитить ваше приложение от злоупотребления возвратом средств, используйте Справочное руководство Защитите свои приложения от злоупотреблений с возвратом средств, чтобы узнать о лучших методах защиты продуктов, продаваемых через приложение.
Он возвращает результаты только за последние 30 дней, поэтому на самом деле это не 100% решение.
Вы не найдете решения, пока Google не внедрит его. Вы опубликовали ошибку / функцию в Google? Было бы неплохо разместить здесь ссылку.
Я также получаю уже возмещенные покупки через
queryPurchaseHistoryAsync(). Вы уже нашли какую-нибудь информацию?