Как определить возврат с помощью библиотеки google billingclient

Мне было интересно, как обнаружить возврат или любой тип отмены покупки в приложении (не подписки и не расходных материалов).

Сейчас я делаю свой тест, и когда я возвращаю деньги за тест в Google, вот так:

Как определить возврат с помощью библиотеки google billingclient

Покупка по-прежнему присутствует в billingClient.queryPurchaseHistoryAsync() (даже в queryPurchase()).

Как я могу обнаружить такие изменения и как отключить приложение для пользователей, которым был возвращен возврат?

Заранее спасибо.

Я также получаю уже возмещенные покупки через queryPurchaseHistoryAsync(). Вы уже нашли какую-нибудь информацию?

Jenix 26.11.2020 15:13

Я не решил эту проблему. Но в ходе исследования я обнаружил, что есть API Google, чтобы это проверить. Вам необходимо отправить запрос на проверку состояния покупки. Я не тестировал. Может вам поможет эта ссылка: developers.google.com/android-publisher/api-ref/rest/v3/…

Ananta 27.11.2020 19:48

Спасибо за ваш ответ. Я знаю, что мы могли бы решить эту проблему с помощью внутренних серверов и службы Google API, как вы сказали. Но, похоже, без них нет решения. Благодарим Вас за подтверждение :)

Jenix 27.11.2020 21:39
15
3
1 408
2

Ответы 2

Приходилось пробовать эту функцию

PurchasesUpdatedListener

Интерфейс прослушивателя для обновлений покупок, которые происходят, например, когда пользователь что-то покупает в приложении или инициирует покупку в Google Play Store.

void onPurchasesUpdated (int responseCode, 
                List<Purchase> purchases)

Реализуйте этот метод, чтобы получать уведомления об обновлениях покупок. Здесь будут указаны как покупки, инициированные вашим приложением, так и покупки, инициированные Play Store.

OnPurchases обновляется на developer.android

Да, я тестировал это, но если возврат происходит при закрытии приложения, он никогда не вызывается.

Ananta 02.10.2018 09:21

этот слушатель предназначен для обработки результатов от запуска потока покупки и потребления продуктов в приложении ... возможные коды ответа для этого метода находятся здесь: developer.android.com/reference/com/android/billingclient/ap‌ i /… он не работает для обнаружения возвратов afaik ....

Eric 11.02.2019 20:13

@Eric Вы нашли какое-нибудь решение? Эта библиотека действительно плохая ...

Jenix 26.11.2020 15:18

@Jenix нет, к сожалению, не нашел решения, но с тех пор прошло много времени.

Eric 26.11.2020 19:32

@ Эрик, ясно ... Это грустно. Спасибо, в любом случае!

Jenix 26.11.2020 20:24

Я понимаю вашу озабоченность по поводу возвращенных товаров.

Если вы предлагаете внутриигровые продукты, вы можете использовать API аннулированных покупок, чтобы запросить список аннулированных покупок для ваших внутриигровых продуктов. Когда пользователь запрашивает возврат средств за покупки в приложении, вы можете увидеть, что было куплено, и забрать возвращенные цифровые товары у этого пользователя.

Чтобы защитить ваше приложение от злоупотребления возвратом средств, используйте Справочное руководство Защитите свои приложения от злоупотреблений с возвратом средств, чтобы узнать о лучших методах защиты продуктов, продаваемых через приложение.

Он возвращает результаты только за последние 30 дней, поэтому на самом деле это не 100% решение.

Minas Mina 08.01.2020 21:11

Вы не найдете решения, пока Google не внедрит его. Вы опубликовали ошибку / функцию в Google? Было бы неплохо разместить здесь ссылку.

Duna 21.01.2020 11:47

Другие вопросы по теме