# Как добавить карту лояльности в кошелёк телефона

> Большинство магазинов не делали карту для кошелька, поэтому кнопки «Добавить» просто нет. Разбираем, что работает на iPhone и Android.

Source: https://apps.swtlm.com/ru/blog/add-a-loyalty-card-to-your-phone-wallet · TLM Apps — focused mobile apps from a team of engineers.
Published: 2026-08-06 · Updated: 2026-08-06 · TLM Software Design

Кнопки «Добавить в кошелёк» обычно нет, потому что карту для кошелька должен
создать и подписать тот, кто её выпустил, а большинство кофеен, спортзалов и
супермаркетов этого никогда не делали. Работает другое: превратить карту в
пропуск самостоятельно — на iPhone это подписанный файл, который попадает в
Apple Wallet, на Android приложение, которое хранит штрихкод и показывает его во
весь экран. А прочитает касса или нет, решает *формат* штрихкода, а не номер.

## Почему кнопки нет

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

Отсюда простое следствие. Если ваша местная сеть никогда не регистрировалась как
издатель карт, добавлять нечего, и никакая настройка в Apple Wallet этого не
изменит. Google Wallet устроен так же для партнёрских программ лояльности.

Значит, вопрос на практике не «как мне добавить эту карту», а «кто сделает из
неё пропуск».

## Что на самом деле нужно сканеру

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

**Правильный формат.** Штрихкод — это не число, а число, закодированное в
конкретной символике. Длинные полосатые коды на картах лояльности — обычно Code
128 или Code 39, товарные коды — EAN-13, квадратные — QR или Aztec. Те же цифры
в неверной символике дают штрихкод, который выглядит правдоподобно и не
сканируется никак.

**Достаточный размер и контраст.** Пропуск показывает код один, крупно, чёрным
по белому. Фотография всей карты показывает штрихкод шириной в два сантиметра, с
логотипом рядом, при той яркости, которая случайно стояла на телефоне.

**Экран, который сканер вообще читает.** Сканеры на камере — плоское стекло на
большинстве касс — экраны читают нормально. Ручные лазерные сканеры экран не
читают ни при какой яркости, потому что работают на отражённом лазерном луче.
Когда сотрудник говорит «с телефона не считывается», обычно дело в этом, и
приложением это не исправить.

Оба кошелька сами поднимают яркость экрана, когда пропуск открыт. Приложение,
которое просто показывает картинку, может этого не делать. Если код не
считывается, полная яркость — первое, что стоит попробовать, и срабатывает она
чаще, чем следовало бы.

## На iPhone

1. **Проверьте, не публикует ли магазин пропуск сам.** Кнопка «Добавить в Apple
   Wallet», если она существует, живёт в приложении магазина или внизу письма с
   чеком. Это всегда лучший вариант: настоящий пропуск обновляет баланс.
2. **Иначе — создайте его.** Приложение, которое считывает карту и делает
   подписанный `.pkpass`, кладёт карту в Wallet по-настоящему: на экран
   блокировки, в список по двойному нажатию, в общий порядок со всем остальным.
3. **Первый раз сверьте штрихкод с картой.** Сравните цифры под штрихкодом на
   карте с цифрами под созданным.

## На Android

Google Wallet принимает карты лояльности от партнёрских программ, а таких
программ заметно меньше, чем карт лояльности. Для всего остального на кассе
работает приложение, которое хранит код и показывает его во весь экран с
поднятой яркостью.

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

## Чего созданный пропуск делать не будет

Знать это стоит до того, как менять стопку пластика на экран телефона.

**Он не будет сам обновлять баланс.** Настоящему пропуску, выпущенному
магазином, можно прислать новое число баллов, новый срок, новое предложение.
Пропуск, сделанный по фотографии, — это снимок штрихкода: код продолжает
работать, потому что код — это просто номер вашего счёта, а вот напечатанное на
нём число баллов заморожено на момент создания. Для карты лояльности это обычно
неважно — касса берёт баланс по номеру. Для всего, чья ценность меняется, важно.

**Он не переживёт перевыпуск карты.** Новая карта — новый номер — новый пропуск.

**Это не платёжная карта.** Ни один из кошельков не даст такую создать, и ничто,
чему нужен чип или магнитная полоса, по фотографии лицевой стороны не
воспроизводится. Эта граница проведена намеренно на обеих платформах, и за ней
то же чутьё, что и за всем на [странице «Инструменты»](https://apps.swtlm.com/ru/tools): делать одну вещь
как следует, а не соседнюю кое-как.

**Он не везде будет уместен.** У части программ лояльности в правилах написано,
что карта принадлежит им и копировать её нельзя. На практике штрихкод на экране
никого не смущает, но музейный абонемент или именной проездной — это другой
разговор, чем карточка со штампами из кофейни.

## Как ввести номер, не набирая его

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

[AI Wallet Pass](https://apps.swtlm.com/ai-wallet-pass) мы сделали именно под этот шаг. Вы
фотографируете карту, приложение извлекает номер и формат штрихкода и создаёт
подписанный пропуск для Apple Wallet на iOS или кладёт карту в собственный
кошелёк на Android.

Одну деталь стоит назвать прямо, потому что именно её и надо проверять в любом
приложении такого рода: для распознавания карты нужен сервер — модель извлечения
на телефоне не работает. **Само содержимое штрихкода остаётся на устройстве**:
служба извлечения получает только фотографию с закрашенным кодом, и номер до неё
не доходит. Узкое исключение — вызов подписи, которому номер нужен ровно на то
время, пока собирается подписанный пропуск, и который его никуда не записывает.
Это ограничение, заданное формой API, а не обещание в политике
конфиденциальности, — и вот об этой разнице и стоит спрашивать.

Три карты в месяц бесплатны, подписки нет, и на карточке на
[странице «Инструменты»](https://apps.swtlm.com/ru/tools) это написано до установки.

Сканирование — единственное, чего приложение не умеет без сети, и на карточке
это сказано: смысловое извлечение идёт через сервер. Сам штрихкод считывается на
устройстве, поэтому номеру и не нужно никуда ехать; о том, насколько вольно
слово «офлайн» используют на страницах магазинов вообще, —
[игры для детей без интернета](https://apps.swtlm.com/ru/blog/offline-games-for-kids). А если вы взвешиваете,
как за приложение платить, —
[во сколько обходится подписка на игру-головоломку](https://apps.swtlm.com/ru/blog/what-a-puzzle-game-subscription-costs)
разбирает три модели и то, как отличить их на странице магазина.

## Frequently asked questions

**Почему карту лояльности нельзя добавить прямо в Apple Wallet?**

Потому что карту для кошелька должен создать и криптографически подписать тот, кто её выпускает, а большинство магазинов этого никогда не делали. У Apple Wallet просто нет способа принять карту, которую никто не публиковал.

**Сработает ли на кассе фотография карты?**

Иногда и ненадёжно. Ручные лазерные сканеры экран не читают вовсе; сканеры на камере обычно читают, если штрихкод крупный, резкий и экран на полной яркости. Фотография карты целиком редко бывает такой.

**Есть ли на Android аналог Apple Wallet?**

Google Wallet принимает карты лояльности, но только от партнёров, которые их публикуют. Для всего остального на кассе работает приложение, которое хранит штрихкод и показывает его во весь экран.

**Какой формат штрихкода нужен?**

Тот, что напечатан на карте. Обычно это Code 128 и Code 39 для длинных полосатых кодов, EAN-13 для товарных и QR или Aztec для квадратных. Тот же номер, закодированный не в том формате, не отсканируется.

**Куда-нибудь уходит номер карты?**

Зависит от приложения, и это единственное, что стоит проверить. Для распознавания карты сервер может понадобиться; для хранения и показа — нет. Само содержимое штрихкода после создания карты покидать устройство не должно.

