Подтвердить что ты не робот

Обработка возвратов платежей в приложениях в версии 3

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

В разделе Testing In-App Billing говорится, что вы должны смотреть IN_APP_NOTIFY, но когда вы нажимаете на это, вы можете перейти к v2 api, где вы должны зарегистрировать широковещательный приемник. Однако в v3 он не дает информации о том, что делать, или даже IN_APP_NOTIFY по-прежнему используется одинаково или поддерживается.

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

4b9b3361

Ответ 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();
}