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

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 генерирует и статические, и динамические коды под карты лояльности, билеты и купоны. Начните бесплатно на странице генератора и меняйте ссылку за кодом сколько угодно раз.

Частые вопросы

Как добавить карту в 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 можно погасить после первого сканирования, чтобы по одному билету не прошли двое.