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