Прежде всего, мои ситуации в тестовых покупках. Не настоящие покупки.
Я сделал тестовое приложение для биллинга в приложении. И добавил Google ID для тестирования.
Моя покупка - это управляемая вещь (не расходуемая). Покупка работает нормально. Но у меня проблема с возвратом.
Если установить флажок отзыва в диалоговом окне возврата в консоли Google Play, Google удалит этот элемент у пользователя надлежащим образом. Заказ и идентификатор продукта не отображаются в информации о покупках пользователя. Это не проблема.
Но, если НЕ установить флажок отзыва, элемент все еще сохраняется у пользователя, даже если деньги были возвращены. Он не удаляет даже несмотря на очистку кеша Google Play и пользовательских данных, повторный вход в систему, перезагрузка.
Конечно, вы можете сказать, будьте осторожны при возврате денег. Однако, что я могу сделать, если произошла ошибка, забыв пометить ее? Я не могу найти пользовательский интерфейс отзыва на странице сведений о возврате заказа.
РЕДАКТИРОВАТЬ: Orders: refund
См. Описание параметра revoke
.
Вы должны отменить использование, пометив покупку как использованную с использованием серверной части или с помощью кода приложения. Вы больше не можете удалить его из Play Console.
Найдите документацию по адресу https://developer.android.com/google/play/billing/billing_onetime
ConsumeResponseListener listener = new ConsumeResponseListener() {
@Override
public void onConsumeResponse(@BillingResponse int responseCode, String outToken) {
if (responseCode != BillingResponse.OK) {
// This user has got a refund, remove the feature here.
}
}
};
mBillingClient.consumeAsync(purchaseToken, listener);