Карта участника в мобильном кошельке¶
Клиент может добавить карту участника программы лояльности в Apple Wallet или Google Кошелёк — тогда её не нужно искать в приложении: карта открывается с экрана блокировки телефона, рядом с банковскими картами.
В редакции 26.3.0 функция не подписывает карту
Выпуск карты в мобильный кошелёк выключен по умолчанию (loyalty.wallet.enabled=false). Даже
при включении модуль в этой редакции отдаёт карту неподписанной заглушкой — точки выпуска
для Apple и Google подключены, но реальный адаптер подписи (сертификат Apple, ключ сервисного
аккаунта Google) не поставляется: устройство такую карту не примет. Рабочая подпись возможна
только через собственную интеграцию заказчика (замена адаптера подписи), встроенного экрана
настройки сертификата в этой версии нет. Раздел ниже описывает целевое поведение функции.
Что видит клиент¶
Кнопки «Добавить в Apple Wallet» и «Добавить в Google Кошелёк» расположены прямо под картой участника на главном экране личного кабинета. Обе кнопки показываются одновременно (кошелёк одной экосистемы нередко встречается на устройстве другой) и только когда карта клиента активна — для заблокированной карты кнопок нет: карта, выпущенная сейчас, пережила бы блокировку и предъявлялась бы на кассе как действующая.
Содержимое карты в кошельке — то же самое, что клиент видит на главном экране кабинета:
| Поле карты | Источник |
|---|---|
| Штрихкод (QR) | Идентификатор участника — тот же, что сканируется на кассе с экрана кабинета |
| Баланс | Доступные баллы, в баллах, не в минорных единицах |
| Уровень | Название текущего уровня (тира), если участник в программе уровней |
| Имя участника | Из профиля клиента |
| Дата вступления | Дата регистрации участника — в Apple Wallet поле «С нами с»; дата показывается в часовом поясе программы |
Повторное нажатие «Добавить» обновляет уже добавленную карту, а не создаёт вторую: серийный номер паспорта — это идентификатор карты, привязанный к клиенту.
Карта не обновляется сама
Карта — снимок данных на момент выпуска. Изменившийся баланс попадёт в кошелёк только при повторном нажатии «Добавить» в кабинете — автоматической синхронизации (push-обновлений) нет.
Apple Wallet¶
Кнопка скачивает пакет .pkpass и передаёт его системе; при настоящей подписи карта появляется в
приложении Wallet. В редакции 26.3.0 пакет собирается заглушкой без подписи (признак
X-Loyalty-Pass-Signed: false в ответе) — устройство его не примет.
Google Кошелёк¶
Кнопка открывает ссылку сохранения карты в Google Кошелёк. В редакции 26.3.0 объект карты собирается без настоящей подписи сервисного аккаунта — ссылку Google не примет как рабочую.
Как выпускается и обновляется¶
Оба формата собираются из одной и той же витрины кабинета (overview) — карта в кошельке и карта на
экране кабинета не могут разойтись, потому что берут данные из одного источника.
flowchart LR
C["Клиент нажимает «Добавить в кошелёк»"] --> W["GET /v1/b2c/me/wallet/apple или /google"]
W --> D["Витрина кабинета клиента"]
D --> P["Сборка пакета/объекта карты"]
P --> S{"Подпись настроена?"}
S -->|да| OK["Карта добавлена в кошелёк"]
S -->|нет| FAIL["Признак «не подписано» — карта не отдаётся как рабочая"]
Идентификатор участника берётся из токена клиента, как и весь остальной личный кабинет — выпустить чужую карту нельзя. Участник без открытого бонусного счёта тоже получает карту — с нулевым балансом, а не отказом: иначе карту нельзя было бы добавить в кошелёк до первой покупки, то есть ровно тогда, когда она нужнее всего.
Настройка¶
Параметры включения выпуска (loyalty.wallet.enabled и прочие) описаны для администраторов в
разделе Конфигурация. Готового способа
подключить настоящий сертификат Apple или ключ Google в этой редакции нет — рабочая подпись требует
собственной интеграции на стороне заказчика.
См. также¶
- Профиль участника — карта участника и штрихкод
- Личный кабинет клиента (B2C) — общий обзор кабинета