
QR-код в Apple Wallet и Google Wallet: карты, билеты, купоны
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: варианты
Три пути, от сложного к простому.
- Свой код через API. Регистрируете сертификаты Apple (Pass Type ID в Apple Developer, аккаунт от 99 $/год) и/или доступ к Google Wallet API, генерируете
.pkpassи объекты сами. Полный контроль, но нужен разработчик и поддержка серверов для push. Оправдано при большой базе и своей CRM. - Готовая Wallet-платформа. Сервисы, которые берут генерацию
.pkpass, хостинг push и конструктор карты на себя. Вы в интерфейсе рисуете карту, они выдают ссылку и QR для добавления. Быстро, от нескольких тысяч рублей в месяц, без кода. - Гибрид через 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 генерирует и статические, и динамические коды под карты лояльности, билеты и купоны. Начните бесплатно на странице генератора и меняйте ссылку за кодом сколько угодно раз.
Частые вопросы
Как добавить карту в Apple Wallet?
Чтобы добавить карту в Apple Wallet, вам нужен файл с расширением .pkpass — его выдаёт бизнес по ссылке на сайте, в письме, в SMS или через специальный QR-код на кассе или стойке. Откройте эту ссылку или отсканируйте QR камерой iPhone: система покажет превью карты (логотип, цвет, номер, штрихкод) и синюю кнопку «Добавить в Apple Wallet». Один тап по ней — и карта ложится в приложение «Кошелёк», отдельно ничего скачивать и устанавливать не надо, механизм встроен в iOS с 2012 года. После этого карту можно открыть из Кошелька в любой момент, а при подходе к магазину она сама всплывёт на экране блокировки, если бизнес прописал в карте геолокацию точки. Скидочные и бонусные карты, купоны и билеты добавляются одинаково — разница только в том, что именно зашито в QR или штрихкод внутри карты: номер клиента, промокод или номер билета.
Работает ли Apple Wallet и Google Wallet в России в 2026 году?
Нужно разделять две функции. Платёжная часть — оплата бесконтактно банковской картой через Apple Pay и Google Pay — в России с 2022 года не работает: российские банки отключены, привязать карту для оплаты кошельком нельзя. А вот карты лояльности, билеты, купоны и пропуска — это отдельная, не платёжная часть Wallet, и она в основном продолжает работать. Файл .pkpass с бонусной картой добавляется в Apple Wallet на iPhone, QR на кассе сканируется, скидка проходит; билеты в кино и на концерты тоже ложатся в кошелёк и предъявляются на входе. Есть нюансы: push-обновления карт от некоторых зарубежных сервисов могут не доходить из-за блокировок, а часть международных приложений ушла из App Store в РФ. Поэтому российский бизнес чаще выпускает Wallet-карты через отечественные платформы, которые держат свои серверы для генерации .pkpass и отправки push. Итог: платить кошельком нельзя, а хранить и показывать карты и билеты с QR — можно.
Чем QR-код в Wallet лучше скриншота карты в галерее телефона?
Отличий несколько, и все они на стороне Wallet. Во-первых, автопоказ: карта в кошельке сама всплывает на экране блокировки, когда вы подходите к магазину по геолокации или наступает время события — скриншот в галерее так не умеет, его надо искать вручную. Во-вторых, обновление: баланс бонусов, срок акции или условия купона в Wallet-карте меняются удалённо через push с сервера, а скриншот навсегда остаётся старым. В-третьих, яркость: при открытии карты Wallet принудительно поднимает яркость экрана до максимума, чтобы код прочитался даже под пыльным сканером на кассе, тогда как в режиме энергосбережения обычный скриншот тусклый и не считывается. В-четвёртых, надёжность: карту сложнее случайно удалить, чем фото в галерее, и сложнее подделать благодаря подписи (Apple) или привязке к аккаунту (Google). По сути скриншот — это статичная картинка, а карта в Wallet — живой объект, который сам себя показывает и обновляет.
Что такое формат .pkpass и Google Wallet API?
.pkpass — это формат карты для Apple Wallet: по сути ZIP-архив, внутри которого файл pass.json с описанием карты (поля, цвета, тип и содержимое штрихкода), картинки логотипа и фона, а также криптографическая подпись сертификатом Apple. Без корректной подписи iPhone файл не примет — это защита от подделок. Тип кода задаётся в блоке barcodes: PKBarcodeFormatQR для QR, PKBarcodeFormatPDF417 для посадочных, PKBarcodeFormatAztec для транспортных билетов. У Google логика другая: файла нет, карта создаётся на серверах Google через Google Wallet API, а клиент получает ссылку «Save to Google Wallet». Раз карта живёт на сервере, её содержимое можно менять централизованно через API — и у всех клиентов оно обновится. Google использует готовые классы объектов: LoyaltyClass для карт лояльности, OfferClass для купонов, EventTicketClass для билетов, TransitClass для транспорта. Для бизнеса это значит, что не нужно рисовать карту с нуля — заполняете готовый шаблон под свой сценарий.
Как работает автопоказ карты по геолокации и времени?
И Apple Wallet, и Google Wallet умеют показывать нужную карту в нужный момент без действий пользователя. Для этого при создании карты бизнес прописывает в неё координаты своих точек (у Apple — блок locations, у Google — locations в объекте) и, для билетов, дату и время события (у Apple — relevantDate). Когда телефон по геолокации понимает, что владелец подошёл к магазину или площадке, карта сама выезжает на экран блокировки — достаточно провести пальцем, чтобы открыть QR, не разблокируя телефон и не ища карту в списке. Билет на концерт всплывёт в день события у входа, бонусная карта кофейни — когда вы рядом с точкой. Это одно из главных преимуществ Wallet перед бумагой и скриншотами: клиенту не нужно помнить про карту, телефон напоминает сам. Работает при включённых службах геолокации; точность и радиус срабатывания зависят от настроек карты и системы.
Сколько стоит бизнесу выпустить карту лояльности в Wallet?
Зависит от способа. Первый путь — делать самому через API: аккаунт Apple Developer стоит 99 долларов в год для получения сертификатов Pass Type ID, доступ к Google Wallet API бесплатный, но нужен разработчик и сервер для отправки push-обновлений — это оправдано при большой базе клиентов и своей CRM. Второй путь — готовая Wallet-платформа, которая берёт на себя генерацию .pkpass, хостинг push и конструктор карты: вы просто рисуете карту в интерфейсе и получаете ссылку и QR для добавления, стоит обычно от нескольких тысяч рублей в месяц, кода не требует. Третий, самый дешёвый путь для простых задач — динамический QR, который ведёт на посадочную страницу с кнопкой добавления карты или на мини-сайт: сам код у вас бесплатный, а сложная бонусная механика подключается позже. Экономия по сравнению с пластиком ощутима: печать 3000 карт стоит около 15 000 рублей плюс постоянные допечатки потерянных, а Wallet-карта не печатается вовсе и ещё экономит на SMS-рассылках, так как акции приезжают push-уведомлением бесплатно.
Можно ли положить билет или купон в Wallet, а не только карту лояльности?
Да, Wallet поддерживает несколько типов пропусков, и все они хранят машиночитаемый код. У Apple тип задаётся полем passStyle: storeCard — бонусная карта, coupon — купон или акция, eventTicket — билет на мероприятие, boardingPass — посадочный талон, generic — универсальный пропуск. У Google этому соответствуют классы LoyaltyClass, OfferClass, EventTicketClass, GiftCardClass и TransitClass. Билет ложится в кошелёк с QR-кодом, а для транспорта чаще используются PDF417 (авиапосадочные) или Aztec (железнодорожные билеты во многих странах) — Wallet читает все три формата. Купон удобнее бумажного флаера: он не выбрасывается, всплывает по геолокации у входа в магазин, срок акции можно продлить или, наоборот, погасить купон удалённо после использования, и вы видите точную статистику — сколько купонов добавлено и сколько погашено. Билет нельзя случайно удалить как письмо, он не мнётся и его сложнее подделать, а QR можно погасить после первого сканирования, чтобы по одному билету не прошли двое.