Покупка помечается как потраченная: На Android - метод удаляет информацию о том, что покупка уже приобреталась, выполняя запрос к серверу-магазину, после чего она снова становится доступной для приобретения; На iOS генерируется исключение. Данный метод поддерживается не на всех устройствах. Для проверки совместимости устройства перед вызовом данного метода следует использовать метод ПоддерживаетсяРасходованиеПокупок.
Синтаксис
ИзрасходоватьПокупку(<Покупка>)Полное описание, параметры и ограничения
МенеджерВстроенныхПокупок.ИзрасходоватьПокупку (InAppPurchasesManager.ConsumePurchase)
МенеджерВстроенныхПокупок (InAppPurchasesManager)
ИзрасходоватьПокупку (ConsumePurchase)
Доступен, начиная с версии 8.3.8.
Синтаксис:
ИзрасходоватьПокупку(<Покупка>)
Параметры:
<Покупка> (обязательный)
Тип: ВстроеннаяПокупка, Строка.
Покупка, которую необходимо израсходовать.
Возвращаемое значение:
Тип: Булево.
Описание:
Покупка помечается как потраченная:
На Android - метод удаляет информацию о том, что покупка уже приобреталась, выполняя запрос к серверу-магазину, после чего она снова становится доступной для приобретения;
На iOS генерируется исключение.
Данный метод поддерживается не на всех устройствах. Для проверки совместимости устройства перед вызовом данного метода следует использовать метод ПоддерживаетсяРасходованиеПокупок.
Доступность:
Мобильный клиент, мобильное приложение (клиент).
Примечание:
Внимание! Все покупки требуют подтверждения, в том числе подписки. В противном случае, покупка будет аннулирована и деньги возвращены. Для расходуемых покупок убедитесь, что вы используете этот метод, который действует как неявное подтверждение покупки, или вы можете явно подтвердить покупку с помощью метода ПодтвердитьПокупку.
См. также:
МенеджерВстроенныхПокупок, метод ПоддерживаетсяРасходованиеПокупок
Использование в версии:
Доступен, начиная с версии 8.3.8.
Описание изменено в версии 8.3.18.
Методическая информация
Практические примеры
Израсходовать тестовый расходуемый товар
Расходование делает приобретенный расходуемый товар доступным для повторной покупки. Это действие нельзя выполнять для произвольного товара.
Где и как запускать
Мобильное приложение Android/iOS или мобильный клиент, клиентский модуль управляемой формы. Требуется настройка магазина или рекламы; не серверный модуль.
Подготовка
Вставьте весь блок в модуль собственной управляемой формы. Создайте команду и кнопку; в клиентском обработчике команды вызовите первую процедуру без параметров. Обработчики с Экспорт вызывает платформа, вручную их не вызывайте.
Используйте собственное мобильное приложение, настроенное для встроенных покупок, и тестовую учетную запись магазина. com.example.learning.lesson1 — образец строкового product ID: замените его идентификатором собственного тестового товара в магазине. Не проверяйте покупку с реальным списанием.
Создайте отдельный собственный тестовый расходуемый товар coins100. Сначала проверьте квитанцию и реально выдайте его тестовое содержимое один раз.
&НаКлиенте
Процедура ИзрасходоватьПакетМонет()
Если Не ВстроенныеПокупки.ПоддерживаетсяРасходованиеПокупок() Тогда
Сообщить("Расходование не поддерживается");
Возврат;
КонецЕсли;
Товар = "com.example.learning.coins100";
Если Не ВстроенныеПокупки.ПроверитьПриобретение(Товар) Тогда
Сообщить("Расходуемый товар не приобретен");
Возврат;
КонецЕсли;
Израсходована = ВстроенныеПокупки.ИзрасходоватьПокупку(Товар);
Сообщить("Результат расходования: " + Строка(Израсходована));
КонецПроцедурыРазбор по шагам
Проверьте поддержку операции.
Проверьте приобретение расходуемого товара.
Выполните расходование и используйте возвращенный результат.
Как проверить результат
Неприобретенный товар не передается на расходование.
После успешного расходования проверьте в тестовом магазине возможность повторного приобретения.
Ожидаемый результат
Получен фактический результат расходования, без автоматической новой покупки.
На что обратить внимание
На iOS метод вызывает исключение. Это не выдача монет: выдачу и защиту от повторов приложение реализует отдельно.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.