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