Перейти к содержимому
QR-код в Apple Wallet и Google Wallet: карты, билеты, купоны
guideQRcode.website216 мин чтения

QR-код в Apple Wallet и Google Wallet: карты, билеты, купоны

#apple wallet#google wallet#карта лояльности#билеты#купоны#pkpass

QR-код в Apple Wallet и Google Wallet — это карта лояльности, билет или купон, который лежит не в фотогалерее и не на бумажке, а в системном кошельке телефона. Достали, приложили, отсканировали. Разница с обычным скриншотом кода огромная: карта в Wallet сама всплывает на экране блокировки, когда вы у входа в магазин, штрихкод не блёкнет от яркости экрана, а баланс бонусов обновляется по воздуху без переустановки. В этом материале — как именно QR попадает внутрь Wallet (формат .pkpass у Apple, Google Wallet API у Google), что он умеет такого, чего не умеет картинка в галерее, и как бизнесу выпустить такую карту.

Что такое QR-код в Apple Wallet и Google Wallet

Apple Wallet (в русском народе — «Кошелёк») стоит на каждом iPhone из коробки, приложение с иконкой в виде карт. Google Wallet — аналог на Android, до 2022 года назывался Google Pay. Изначально оба хранили банковские карты для бесконтактной оплаты. Но рядом с картами живёт вторая, менее заметная функция — карты и пропуска (passes): скидочные карты магазинов, посадочные талоны, билеты в кино, абонементы, купоны, студенческие. Внутри почти каждого такого пропуска — либо штрихкод, либо QR-код.

Ключевой момент: это не картинка. Пропуск в Wallet — это структурированный объект. У него есть логотип, цвет фона, поля (номер карты, имя, срок, баланс), геометки и, главное, машиночитаемый код — QR, PDF417 или Aztec. Кассир сканирует код своим терминалом ровно так же, как раньше сканировал пластиковую карту. Только теперь у клиента в кармане не десять кусков пластика, а один телефон.

По данным самой Apple, к Wallet подключены десятки тысяч мерчантов по миру; в России карты лояльности в Wallet выпускают «Магнит», «Пятёрочка», «Лента», сети АЗС, кофейни, барбершопы — почти любой, у кого есть бонусная программа. На Android то же самое делает Google Wallet, а где-то встроенные кошельки самих банков и приложений типа «СберСпасибо».

Формат .pkpass: как QR попадает в Apple Wallet

У Apple карта Wallet — это файл с расширением .pkpass. По сути это ZIP-архив, внутри которого лежат: pass.json (описание карты — поля, цвета, тип штрихкода и его содержимое), картинки (логотип, иконка, фон) и криптографическая подпись сертификатом Apple. Без подписи iPhone файл не примет — это защита от подделок.

Тип кода задаётся прямо в pass.json в блоке barcodes. Для QR это PKBarcodeFormatQR, а поле message — то, что зашито в код: номер карты клиента, ссылка, токен. Есть ещё PKBarcodeFormatPDF417 (посадочные и авиабилеты) и PKBarcodeFormatAztec (ж/д и транспортные билеты во многих странах). Сам QR внутри Wallet — обычный статический код по стандарту, который придумала Denso Wave в 1994 году, никакой магии в самом квадрате нет. Магия — в оболочке вокруг него.

Простыми словами: .pkpass — это конверт. QR-код — письмо внутри. Apple проверяет печать на конверте (подпись), красиво его рисует и кладёт в Кошелёк так, чтобы он всплывал в нужный момент.

Как клиент добавляет карту. Он получает файл .pkpass — по ссылке на сайте, из письма, из SMS или отсканировав специальный QR, который отдаёт этот файл. iPhone показывает превью карты и кнопку «Добавить в Apple Wallet». Один тап — карта в кошельке. Никакого отдельного приложения ставить не надо: механизм встроен в iOS с версии 6 (2012 год, тогда это называлось Passbook).

Google Wallet API: как это устроено у Google

У Google логика другая, хотя результат для пользователя тот же. Здесь нет файла-архива, который вы качаете. Карта создаётся на серверах Google через Google Wallet API, а бизнес отдаёт клиенту ссылку «Save to Google Wallet» (или кнопку/QR, ведущий на эту ссылку). Клиент жмёт — объект добавляется в его Google Wallet, привязанный к Google-аккаунту.

Что это даёт на практике. Раз карта живёт на сервере Google и лишь отображается на телефоне, её содержимое можно менять централизованно: поменяли баланс или срок акции в своём бэкенде через API — у всех клиентов карта обновилась. Тип кода тоже настраивается: QR_CODE, PDF_417, AZTEC, CODE_128 и другие. Для карт лояльности обычно ставят QR или Code 128, для билетов — QR или Aztec.

Ещё одно отличие: Google различает готовые «классы» объектов — LoyaltyClass (карта лояльности), OfferClass (купон/акция), EventTicketClass (билет на мероприятие), GiftCardClass, TransitClass (транспорт). Вы не рисуете карту с нуля, а заполняете готовый шаблон под свой сценарий. Apple такого деления по классам не делает — там один универсальный pass.json с полем passStyle (storeCard, coupon, eventTicket, boardingPass, generic).

Чем QR в Wallet лучше бумажного и экранного QR

Тут и прячется вся суть. Можно ведь просто сфотографировать штрихкод пластиковой карты и показывать скриншот на кассе — многие так и делают. Разберём, почему Wallet выигрывает.

СвойствоБумага / пластикСкриншот в галерееКарта в Apple / Google Wallet
Всегда с собойЗабывается домаДа, но искать в галерееДа, один тап из кошелька
Всплывает сама у входаНетНетДа — по геолокации и времени
Обновление баланса/акцииНетНет (старый скрин)Да — push с сервера
Яркость под сканерЦарапается, мнётсяЭкран может тускнетьWallet сам поднимает яркость
Защита от копийЛегко скопироватьЛегко переслатьПодпись/аккаунт, сложнее

Три вещи, ради которых всё и затевается:

  • Автопоказ по геолокации и времени. Вы добавили карту кофейни. Подошли к точке — карта сама выехала на экран блокировки, не надо разблокировать телефон и искать. Билет на концерт всплывёт в день события у входа на площадку. Это настраивается в самой карте: у Apple — блок locations и relevantDate, у Google — locations и время в объекте.
  • Push-обновление содержимого. Начислили бонусы — баланс на карте обновился без действий клиента. Изменили условия акции или продлили купон — новый текст приехал сам. У Apple это делает связка веб-сервиса и APNs, у Google — прямой вызов API. Клиент видит бейдж «обновлено».
  • Яркость и надёжность считывания. Когда вы открываете карту в Wallet, телефон принудительно поднимает яркость экрана до максимума — код читается даже под пыльным сканером на кассе. Скриншот в галерее так не умеет: при энергосбережении экран тусклый, и код не ловится.

Отдельно про срок годности. Обычный распечатанный купон живёт, пока не выцвел. Карта в Wallet может иметь дату истечения и после неё автоматически помечается как недействительная. Про то, когда QR-коды вообще «протухают» и как их продлевать без перепечатки, это тоже управляется на стороне карты, а не клиента.

Карты лояльности в Wallet: сценарий для бизнеса

Самый массовый кейс. Вместо пластиковой карты клиент кладёт бонусную карту в телефон. Разберём на цифрах, что это даёт кофейне средней руки.

Кофейня «Гранула» в Казани раздавала пластиковые бонусные карты: печать 3000 штук — около 15 000 ₽, плюс каждый месяц допечатка потерянных. Клиенты карту теряли, забывали, кассир тратил время на поиск профиля по телефону. Перешли на карту в Apple/Google Wallet: клиент сканирует QR на кассе или на стойке, жмёт «Добавить», карта в телефоне. Печать пластика — ноль. Бонусный баланс подтягивается на саму карту push-уведомлением после каждой покупки, клиент видит «+45 баллов» на экране блокировки.

Что важно для маркетинга: карта в Wallet — это ещё и канал бесплатных пушей. Не через дорогие SMS (в среднем 3–4 ₽ за штуку), а прямо на карту. «Двойные баллы в выходные» приезжает как обновление карты. При базе в 3000 клиентов и двух акциях в месяц экономия только на SMS — порядка 20–24 000 ₽ в месяц против рассылки.

Как это связать с генератором QR. Чтобы клиент добавил карту, ему нужен вход — обычно это QR, который ведёт на страницу с кнопкой «Добавить в Wallet». Такой ведущий QR удобно делать динамическим: ссылку за ним можно поменять, не перепечатывая наклейки на кассах. Разница между статикой и динамикой подробно разобрана в термине QR-купон и в разделе динамических кодов.

Билеты и посадочные в Wallet

Второй крупный сценарий — билеты. Кино, концерты, спорт, самолёты, поезда, конференции. Тут Wallet почти вытеснил бумагу и PDF.

Как это выглядит. Вы купили билет на концерт — на почту или в личный кабинет приходит кнопка «Добавить в Apple Wallet» / «Save to Google Wallet». Билет ложится в кошелёк с QR-кодом (или Aztec/PDF417 для транспорта). В день события карта сама всплывает на экране блокировки, когда вы подходите к площадке. На входе контролёр сканирует код — проход занимает секунду.

Плюсы для организатора мероприятия ощутимы. Билет нельзя случайно удалить как письмо, он не мнётся, его сложнее подделать, а главное — QR можно погасить после первого сканирования, чтобы по одному билету не прошли двое. Как правильно строить систему проверки на входе и что делать, чтобы билет не сканировали дважды, разобрано в материале про QR-билеты и регистрацию на мероприятие. Для событий у Google есть отдельный класс QR-события с полями даты, места и сектора.

Отдельный нюанс для авиа и ж/д: там чаще не QR, а PDF417 (посадочные талоны) или Aztec (ж/д билеты в Европе). Wallet поддерживает все три формата, так что билет РЖД или посадочный «Победы» ложится в кошелёк ровно так же, как QR-карта магазина.

Купоны и акции: одноразовые и многоразовые

Купон в Wallet — это акция с кодом, который клиент предъявляет на кассе. «−20% на первый заказ», «кофе в подарок», «промокод на 500 ₽». У Apple это passStyle: coupon, у Google — OfferClass.

Чем это удобнее бумажного флаера. Во-первых, купон не выбрасывают — он лежит в кошельке и всплывает по гео у входа в магазин. Во-вторых, срок акции можно продлить или, наоборот, погасить купон удалённо после использования. В-третьих, вы видите статистику: сколько купонов добавлено, сколько погашено — конверсия акции считается точно, а не «раздали 500 листовок, пришло непонятно сколько».

Одноразовый или многоразовый — решаете вы. Одноразовый гасится push-обновлением сразу после сканирования (кассир пробил — купон стал «использован»). Многоразовый (например, «скидка постоянного гостя») живёт на карте и работает при каждом визите. Отслеживать, как именно клиенты приходят по коду и с каких точек, помогает встроенная аналитика переходов по динамическому коду.

Работают ли Apple Wallet и Google Wallet в России в 2026

Вопрос болезненный, разложим честно. С 2022 года платёжная функция обоих кошельков в России не работает: привязать банковскую карту для бесконтактной оплаты через Apple Pay / Google Pay нельзя, российские банки отключены. Это факт.

Но карты лояльности, билеты и купоны — это другая часть Wallet, не платёжная. И она в основном продолжает работать: файл .pkpass с бонусной картой добавляется в Apple Wallet на iPhone, QR на кассе сканируется, скидка проходит. То же с билетами. Ограничения касаются именно оплаты картой через кошелёк, а не хранения и показа кодов.

Нюансы всё же есть. Push-обновления карт у некоторых зарубежных сервисов могут не доходить из-за блокировок инфраструктуры; часть международных приложений ушла из App Store в РФ. Поэтому российский бизнес часто выпускает Wallet-карты через отечественные платформы, которые сами держат серверы для push и генерации .pkpass. На Android у Google Wallet ситуация схожая: показ карт и билетов работает, платёжная часть — нет. Кто на кнопочном телефоне или без Wallet — тем оставляют обычный QR ссылкой или в мини-приложении.

Как бизнесу выпустить карту в Wallet: варианты

Три пути, от сложного к простому.

  1. Свой код через API. Регистрируете сертификаты Apple (Pass Type ID в Apple Developer, аккаунт от 99 $/год) и/или доступ к Google Wallet API, генерируете .pkpass и объекты сами. Полный контроль, но нужен разработчик и поддержка серверов для push. Оправдано при большой базе и своей CRM.
  2. Готовая Wallet-платформа. Сервисы, которые берут генерацию .pkpass, хостинг push и конструктор карты на себя. Вы в интерфейсе рисуете карту, они выдают ссылку и QR для добавления. Быстро, от нескольких тысяч рублей в месяц, без кода.
  3. Гибрид через QR-генератор. Если вам не нужна сложная бонусная механика, а нужно просто раздать клиентам ссылку/визитку/меню/акцию, часто достаточно динамического QR, который ведёт на страницу с кнопкой добавления или на мини-сайт. Ведущий QR вы делаете у нас, а сам .pkpass — на профильной платформе.

С чего начать проще всего: сделайте динамический QR, который ведёт на посадочную с кнопкой «Добавить карту». Ссылку за кодом потом можно перенаправить на другую платформу, не перепечатывая наклейки. Про смену ссылки без перепечатки наклеек — раздел динамических QR-кодов.

Готовы попробовать? Сделайте QR, который приведёт клиентов к карте в Wallet, за пару минут — без регистрации, с логотипом и в высоком разрешении для печати на кассе.

Частые ошибки и на что смотреть

Что ломает Wallet-карту на практике:

  • Слишком длинный QR. В код лучше класть короткую ссылку или короткий токен, а не гигантскую строку с данными. Длинный QR становится плотным, мелким и хуже читается со скана. Короткие ссылки для этого и придуманы.
  • Нет запасного варианта. Часть клиентов на Android без Google Wallet или на старых телефонах. Всегда оставляйте обычную ссылку или картинку QR рядом с кнопкой «Добавить в Wallet».
  • Забыли про яркость на своей стороне. Если вы показываете QR клиенту на своём экране (обратный сценарий), а не он вам — поднимите яркость вручную, старые сканеры капризны.
  • Не настроили push-домен. Если делаете сами, без корректно поднятого веб-сервиса push обновления баланса не поедут — карта станет «мёртвой» после первого добавления.
  • Один QR на всех. Для лояльности код должен быть привязан к конкретному клиенту (его номер/токен). Общий QR не даст персональной аналитики и начислений.

И тест перед запуском обязателен: добавьте карту на реальный iPhone и реальный Android, проверьте скан на том терминале, что стоит на кассе, и убедитесь, что push с обновлением баланса доходит. Пять минут проверки экономят недели поддержки.

Готовы попробовать? QRcode.website генерирует и статические, и динамические коды под карты лояльности, билеты и купоны. Начните бесплатно на странице генератора и меняйте ссылку за кодом сколько угодно раз.