Дождаться покупки и получить настоящую квитанцию

Учебные задачи

ПриобрестиАсинх возвращает обещание с квитанцией, а не логический признак покупки.

Где и как запускать

Мобильное приложение Android/iOS или мобильный клиент, клиентский модуль управляемой формы. Требуется настройка магазина или рекламы; не серверный модуль.

Подготовка

  1. Вставьте весь блок в модуль собственной управляемой формы. Создайте команду и кнопку; в клиентском обработчике команды вызовите первую процедуру без параметров. Обработчики с Экспорт вызывает платформа, вручную их не вызывайте.

  2. Используйте собственное мобильное приложение, настроенное для встроенных покупок, и тестовую учетную запись магазина. com.example.learning.lesson1 — образец строкового product ID: замените его идентификатором собственного тестового товара в магазине. Не проверяйте покупку с реальным списанием.

  3. В клиентском обработчике кнопки используйте Асинх и вызов Ждать КупитьУрок(). Покупка выполняется только через тестовый платежный интерфейс магазина.

&НаКлиенте
Асинх Процедура КупитьУрок()
    Если Не ВстроенныеПокупки.ПоддерживаютсяПокупки() Тогда
        Сообщить("Покупки недоступны");
        Возврат;
    КонецЕсли;
    Попытка
        Квитанция = Ждать ВстроенныеПокупки.ПриобрестиАсинх("com.example.learning.lesson1", Ложь);
        Сообщить("Получена квитанция, байт: " + Строка(Квитанция.Данные.Размер()));
    Исключение
        Сообщить("Покупка не завершена; доступ не выдавайте");
    КонецПопытки;
КонецПроцедуры

Разбор по шагам

  1. Проверьте доступность покупок.

  2. Дождитесь приобретения с явно выключенным автоподтверждением.

  3. Используйте полученную квитанцию для дальнейшей проверки.

Как проверить результат

  1. Нормальный путь получает данные реальной квитанции.

  2. Отмена или исключение не объявляются выдачей доступа.

Ожидаемый результат

Показан размер полученной квитанции; проверка подлинности и выдача контента остаются отдельными шагами.

На что обратить внимание

  1. Размер квитанции не доказывает ее подлинность. На Android требуется корректное подтверждение покупки; один этот пример не является полной платежной интеграцией.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.