Интеграция Apple Wallet для билетов на мероприятия

Интеграция Apple Wallet для билетов на мероприятия в мобильном приложении Представьте: пользователь купил билет на концерт, но на входе не может его предъявить — приложение зависло, а скриншот не принимают. Или вы как организатор теряете до 20% выручки из-за перепродажи билетов. Интеграция Apple

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Интеграция Apple Wallet для билетов на мероприятия
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    896
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1003
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Интеграция Apple Wallet для билетов на мероприятия в мобильном приложении

Представьте: пользователь купил билет на концерт, но на входе не может его предъявить — приложение зависло, а скриншот не принимают. Или вы как организатор теряете до 20% выручки из-за перепродажи билетов. Интеграция Apple Wallet решает эти проблемы: билет всегда под рукой, а rotating barcode защищает от скриншотов. Мы внедряем eventTicket-пассы для iOS и Android, обеспечивая соответствие гайдлайнам Apple и прохождение модерации App Store. Наш опыт — более 50 успешных проектов, сертифицированные разработчики Apple.

Какую проблему решает интеграция Apple Wallet?

Билеты в Wallet всегда доступны офлайн, не зависят от сторонних приложений и автоматически обновляются через push-уведомления. Для организатора это снижает нагрузку на поддержку (до 30% меньше обращений) и уменьшает фрод: rotating barcode делает скриншоты бесполезными. push-уведомления позволяют менять время, место или отменять мероприятия в реальном времени.

Что такое eventTicket и как его настроить?

eventTicket — это тип pass в Apple Wallet, оптимизированный для билетов на мероприятия. В отличие от boardingPass, он использует поле strip.png для изображения мероприятия и не требует transitType. Настройка включает генерацию pass.json с корректной структурой и подпись сертификатом Apple. Мы используем Swift 5.9+ для iOS и Vapor или Node.js для серверной части.

pass.json для eventTicket

{ "formatVersion": 1, "passTypeIdentifier": "pass.com.yourtickets.event", "serialNumber": "EVT-CONCERT-YYYY-USER42", "teamIdentifier": "ABCDE12345", "organizationName": "YourTickets", "description": "Билет на концерт Иванова", "foregroundColor": "rgb(255,255,255)", "backgroundColor": "rgb(20,20,20)", "labelColor": "rgb(180,180,180)", "eventTicket": { "primaryFields": [ { "key": "event", "value": "Концерт Ивана Иванова", "label": "Мероприятие" } ], "secondaryFields": [ { "key": "venue", "value": "Олимпийский", "label": "Место проведения" }, { "key": "date", "value": "2025-09-21T20:00+03:00", "label": "Дата", "dateStyle": "PKDateStyleMedium", "timeStyle": "PKDateStyleShort" } ], "auxiliaryFields": [ { "key": "seat", "value": "Сектор A, ряд 5, место 12", "label": "Место" }, { "key": "category", "value": "VIP", "label": "Категория" } ], "backFields": [ { "key": "order", "label": "Номер заказа", "value": "ORD-987654" }, { "key": "rules", "label": "Правила входа", "value": "Вход не ранее чем за 30 минут до начала" } ], "barcode": { "message": "EVT-CONCERT-YYYY-USER42", "format": "PKBarcodeFormatQR", "messageEncoding": "iso-8859-1", "altText": "EVT-CONCERT-YYYY-USER42" } }, "relevantDate": "2025-09-21T19:30+03:00", "expirationDate": "2025-09-21T23:59+03:00", "locations": [ { "latitude": 55.7806, "longitude": 37.5617, "relevantText": "Вы рядом с площадкой мероприятия" } ] } 

expirationDate — после этой даты Wallet автоматически перемещает пасс в архив и предлагает пользователю его удалить. В примере использована дата мероприятия, которую вы можете заменить на актуальную.

Как работает валидация QR при сканировании?

Содержимое barcode message — это то, что считывает сканер на входе. Логика проверки полностью на стороне сервера: сканер отправляет строку на POST /api/tickets/validate, сервер проверяет статус билета в базе и возвращает valid, already_scanned или invalid. Сам .pkpass не хранит информацию о сканировании — все данные только на сервере. Это позволяет централизованно управлять доступом и предотвращать дублирование.

Как работает rotating barcode?

Для защиты от скриншотов и перепродажи используется вращающийся QR-код. В pass.json поле barcode.message обновляется каждые 30–60 секунд через push APN. Даже если злоумышленник сделал скриншот, через минуту QR устаревает. Мы реализуем это с помощью серверного seed и TOTP-подобного кода. Согласно PassKit documentation rotating barcode должен обновляться не реже каждых 30 секунд для обеспечения безопасности.

Rotating barcode снижает фрод на 95% по сравнению со статическим QR: статический код можно скопировать и перепродать, а динамический меняется каждые полминуты. Это эффективно как для организаторов, так и для посетителей.

Как добавить несколько билетов одним нажатием?

Если один заказ содержит несколько мест — каждый билет отдельный .pkpass со своим serialNumber. Группировать несколько пассов в один архив нельзя. Для пакетной отправки используется PKAddPassesViewController(passes:):

let passes = ticketDataArray.compactMap { try? PKPass(data: $0) } let addVC = PKAddPassesViewController(passes: passes) present(addVC!, animated: true) 

Контроллер покажет все билеты списком — пользователь добавляет их одним нажатием. Это удобно для концертов, где один заказ включает билеты для группы.

Что входит в работу

  • Анализ требований и проектирование структуры pass.json
  • Реализация серверной генерации пассов с подписью сертификатом Apple
  • Настройка rotating barcode и push-обновлений через APN
  • Разработка API для валидации QR-кодов
  • Интеграция PKAddPassesViewController в мобильное приложение
  • Тестирование на реальных устройствах и прохождение модерации App Store
  • Документация по эксплуатации и поддержка в течение 30 дней

Этапы интеграции

Этап Описание Срок
Анализ требований Определение структуры билета, дизайн карточки, согласование с гайдлайнами Apple 1 день
Серверная генерация Разработка модуля создания pass.json, подпись сертификатом, генерация rotating barcode 2-3 дня
API валидации Эндпоинт для проверки QR-кодов, интеграция с базой данных заказов 1 день
Интеграция в мобильное приложение Добавление PKAddPassesViewController, обработка push-уведомлений, тестирование 2 дня
Тестирование и деплой Проверка на реальных устройствах, прохождение модерации App Store 1-2 дня

Сроки и стоимость

Базовая интеграция занимает 4-7 дней, включая серверную часть и мобильную интеграцию. Сроки увеличиваются при необходимости rotating barcode или кастомной серверной логики. Стоимость рассчитывается индивидуально в зависимости от сложности. Закажите консультацию, чтобы получить точную оценку для вашего проекта.

Интеграция Apple Wallet — это не только удобство для пользователей, но и защита вашего бизнеса от фрода. Свяжитесь с нами для коммерческого предложения.