Ответ 1
Вы должны обрабатывать их так же, как и в v2: когда пользователь запрашивает возврат, отменяет или возвращает заказ через консоль Checkout. Затем приложение должно проверять статус покупки при запуске и т.д. И делать правильные вещи (как правило, разрешать доступ для возвращенных покупок и отказывать в отмененных). К сожалению, предоставленный образец не беспокоится об этом, поэтому вам придется добавить его самостоятельно. Еще более печальным является тот факт, что из-за локального кэширования и/или ошибок на стороне сервера покупки будут оставаться в приобретенном состоянии задолго после отмены или возврата средств. Существует не так много, вы можете сделать с ним, хотя ATM.
Предполагая, что вы используете образец Trivial Drive, вы можете добавить в приложение что-то подобное:
Purchase purchase = inventory.getPurchase(product);
Log.d(TAG, "Purchase state: " + purchase.getPurchaseState());
// 0 (purchased), 1 (canceled), or 2 (refunded).
if (purchase.getPurchaseState() == 0
|| purchase.getPurchaseState() == 2) {
showPremiumVersion();
} else {
showFreeVersion();
}