Как пользоваться apple wallet на iphone


Paul Sokolov CEO

Paul is the Chief Executive Officer of Guarda Wallet with over 5 years experience in the field of blockchain technologies and cryptocurrency. Besides being the main visionary of Guarda, Paul is known for taking part in a variety of other blockchain-related projects overtime. Paul’s interests are focused on decentralization, custody-free cryptocurrency management and privacy solutions.

Maria Carola CMO

Maria Carola is the Chief Marketing Officer of Guarda Wallet. Prior to her work in the blockchain industry, Maria was involved in a variety of projects as a journalist and language interpreter.After joining Guarda as a full-time copywriter in mid-2018, she quickly found her passion for marketing and the crypto space. Maria is one of the youngest, most outspoken team members of Guarda.

Frequently asked questions :

• Is it safe ?

We try to make it that way ! The core of the tool, that generate the keys is 99% the same as the well reviewed bitaddress.org. We only changed it to be able to generate addresses for different crypto-currencies.

We think that having a unique generator for multiple currencies lead to a much better reviewed tool for all than having a myriad of half-backed generators. Changes made to this generator are available on Github in small and divided commits and those are easy to review and reuse. Walletgenerator.net use the same security measures as the original project. All-in-one html document, no ajax, no analytics, no external calls, no CDN that can inject anything they want. And trust us, we have seen some nasty things when reviewing some wallet generator.

• Why should I use a paper wallet ?

Advantages of a paper wallet are multiple:⇒ They are not subject to malwares and keyloggers⇒ You don’t rely on a third party’s honesty or capacity to protect your coins⇒ You won’t lose your coins when your device break

• How to use a paper wallet ?

Once you have generated and printed a wallet, you can send coins to the public address, like for any wallet. Store your paper wallet securely. It contains everything that is needed to spend your funds. Consider using BIP38 to secure your paper wallet with a password.

• How to spend the coins stored in a paper wallet ?

You will need to import your private key in a real client, that you can download from the currency website. The exact method to do that will depend on the client. If there is no integrated method, you can usually fall back to the debug console and use the command “importprivkey “.

• How walletgenerator.net is different than another wallet generator ?

It’s not that different. You will find another design for the paper wallet and some improvements here and there. The big difference is that this is a unique project for a lot of currencies, so more people can review it and check its safety.

• Why should I make a donation ?

Donations money are used to pay our hosting service provider, but it’ll also be used to make walletgenerator.net more secure as we plan to organize a CrowdCurity campain as soon as we get enough money to pay for it.

• I found a bug, what shall I do ?

You can report bugs using GitHub. You can also contact us using our Twitter account (@WalletGenerator). Just try to explain clearly what is wrong and we will try to fix the bug as soon as possible.

Статус кошелька

Идентифицированный пользователь — это пользователь который подтвердил свою личность путем загрузки сканов документа подтверждающего личность.

Подтержденный пользователь не имеет ограничений по сумме вывода денежных средств с электронного кошелька.

Идентифицировать кошелек


  • Пользователь инкогнито
  • Регистрация по номеру телефона
  • Имеет ограничение на пополнение
  • Имеет ограничение на вывод денег
  • Защищен системой безопасности системы

Какие статусы бывают?


  • Является полноценным пользователем системы
  • Регистрация по номеру телфона
  • Не имеет ограничения на пополнение кошелька
  • Не имеет ограничения на вывод денежных средств
  • Защищен системой безопасности

Пополнение кошелька

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

Через банкомат Можно пополнять с карты свой кошелек и кошельки других пользователей. Для переводов с карты на другие кошельки регистрация не нужна. Пополнить

Через интернет-банк В некоторых интернет-банках есть готовые шаблоны для пополнения кошелька. Нужно найти в списке платежей нужную функцию, указать номер кошелька и сумму, подтвердить перевод. Пополнить

Через терминалы Пополнить свой кошелек наличными можно через кассы в офисах продаж наших партнеров. Для этого нужно знать только номер своего кошелька в сервисе. Пополнить

В офисах партнеров Пополнить свой кошелек наличными можно через кассы в офисах продаж наших партнеров. Для этого нужно знать только номер своего кошелька в сервисе. Пополнить

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

Банковский перевод Пополнить свой кошелек можно наличным или безналичным переводом денег на банковский счет платежного сервиса с указанием номера электронного кошелька. Пополнить

Создание платежа

POST /OpenApi/payments

Для создания платежа на провайдера emtc, тело запроса должно иметь следующий вид:


Также есть возможность указать внешний идентификатор платежа. Т.е. идентификатор на стороне клиента протокола Выплат. Внешний идентификатор имеет строковый тип данных с длиной менее 64 символов. Может использоваться в методе получения информации по платежу. Связь платежа и его внешнего идентификатора уникальна для клиента протокола Выплат. Т.е. невозможно создать платеж с ранее использованным внешним идентификатором. В данном случае тело запроса будет иметь вид:


Ответ будет иметь следующий вид (незначимые в данном сценарии поля опущены):

{ «PaymentId»: 40211382, «Form»: { «FormId»: «Index», «Fields»: +))$», «MinLength»: 16, «MaxLength»: 19, «FieldType»: «Scalar», «FieldId»: «CardNumber», «Title»: «Номер карты», «TabOrder»: 1, «IsRequired»: true }, { «RegEx»: «^\\d+(\\.\\d{1,4})?$», «MinLength»: 1, «MaxLength»: 10, «FieldType»: «Scalar», «FieldId»: «Amount», «Title»: «Сумма к зачислению», «TabOrder»: 2, «IsRequired»: true }, { «Value»: «Перевод на новые реквизиты может занять до 24 часов», «FieldType»: «Label», «FieldId»: «info», «Title»: «Обратите внимание», «TabOrder»: 3, «IsRequired»: false } ] } }

  • PaymentId — идентификатор платежа, назначенный сервисом W1.
  • Form — платежная форма, ожидающая заполнения. При создании платежа форма всегда будет иметь идентификатор «Index». В данном случае, для заполнения Index формы необходимо предоставить 2 обязательных поля: CardNumber и Amount. Каждое поле может валидироваться по своему — за это отвечают свойства:
    • RegEx — значение поля должно соответствовать указанному регулярному выражению, иначе возникнет ошибка PAYMENT_FIELD_REGEX_ERROR
    • MinLength/MaxLength — строковое значения поля не должно выходить за рамки указанных значений, иначе возникнет ошибка PAYMENT_FIELD_MIN_LENGTH_ERROR или PAYMENT_FIELD_MAX_LENGTH_ERROR.
  • Свойство TabOrder — порядок, в котором ожидается отображение полей в пользовательском интерфейсе.
  • Свойство IsRequired — необходимость передачи поля для успешного совершения платежа.
  • Свойство FieldType — тип платежного поля. Поля с типом Label возвращаются с целью информирования пользователей о возможных особенностях провайдера. Поля с типом Scalar должны быть заполнены пользователем.

Если среди полей для заполнения присутствует поле с FieldId = ExtAccountId, то в него должен быть передан идентификатор внешнего платежного инструмента из Wallet One Checkout Host2Host API (метод «Получение списка платежных инструментов»).

Другие возможности Wallet

Если разобраться, то Wallet — уникальное приложение. Ничего подобного в ОС «Андроид» и близко нет. Хотя в «Гугл» пытались создать копию бумажника от «яблочников». Но оригинальный Wallet обладает сложной многоступенчатой защитой и приятным интерфейсом. В принципе, все основные опции приложения были рассмотрены выше, но есть еще несколько функций, которые появились относительно недавно в Wallet. Обзор был бы неполным без их упоминания. К примеру, студенты могут сделать электронный студенческий билет и использовать его вместо бумажного или пластикового. Однако такая крутая фишка пока доступна только студентам из Штатов. И то не всем. А о том, когда такая функция придет в Россию, история умалчивает.

В 2018 году в Wallet была добавлена возможность бесконтактного использования всех карт (платежных, бонусных, различных билетов, студенческих пропусков и так далее). Но опять же. Доступна данная опция только жителям Соединенных Штатов Америки, использующим Wallet. Что это? Отголоски санкций? Нет. Просто в РФ все новинки не всегда можно внедрить по причине отсутствия аппаратных возможностей. Но в скором времени новые опции бумажника айфона будут доступны и пользователям из России. Правда, у Wallet к этому времени появятся новые. Вот так и живем.

Работа с платежными картами

Итак, в предыдущей главе мы рассмотрели основные опции приложения Wallet. Что это — уже понятно. Теперь разберемся с самой актуальной (на данный момент) опцией приложения. Речь идет о возможности оплачивать покупки с помощью Apple Pay и Wallet. Первое представляет собой «инновационную» систему оплаты, а второе хранит в своей базе все необходимые платежные реквизиты. Включая данные банковской карты. Однако сначала требуется добавить платежную карту в базу Wallet. Но здесь есть нюансы. Далеко не все банки в РФ поддерживают такую возможность.

Если ваша карта относится к поддерживаемым, то добавить ее в приложение Wallet — пара пустяков. Достаточно нажать на кнопку «Добавить платежную карту». А дальше придется только следовать инструкциям. Все они предельно просты. Да еще и на русском языке. Так что проблем не возникнет. После добавления можно будет использовать сервис Apple Pay «на полную» в тех местах, где он поддерживается. Теперь стоит рассмотреть и другие возможности Wallet. Что это за приложение всего с одной возможностью? Примерно так подумали в Apple и… добавили больше функционала.

Как проверить баланс кошелька или транзакцию

Для проверки баланса нет необходимости каждый раз заходить в кошелек MyEtherWallet. Во-первых, это небезопасно, если для входа используется приватный ключ или файл ключей UTC/JSON. Во-вторых, созданы специальные сервисы-обозреватели блоков. Они отслеживают информацию в сети блокчейн и дают информацию о каждом адресе, транзакции, блоке.

Как проверить баланс MyEtherWallet:

  • Криптовалюта хранится в виде записей в блокчейне. Потребуется знать только адрес, на который была получена криптовалюта. Адрес еще называют открытым или публичным ключом. Для Ethereum (ETC) он начинается с 0x и имеет длину 40 символов. Посмотреть и сохранить его можно, войдя в аккаунт MyEtherWallet.
  • Зайти на обозреватель блоков. Для Ethereum – etherscan.io; для Ethereum Classic – gastracker.io; токены ERC 20 – ethplorer.io.
  • Ввести в форму поиска адрес, нажать «Enter».
  • В новом окне будет баланс, количество эфира, информация о входящих и исходящих транзакциях.

Для просмотра баланса токенов можно использовать обозреватели или посмотреть через MyEtherWallet. Нужно нажать «Show All Tokens» и «Click to Load»:

Как получить криптовалюту (токен) на кошелек MyEtherWallet

Кошелек MyetherWallet не хранит криптовалюту, а только предоставляет интерфейс для работы с блокчейн сети Ethereum и генерирует приватный ключ. Каждому приватному ключу соответствует публичный ключ, который называется адресом или номером.

Для получения криптовалюты или токена нужно знать адрес. На сервисе MyEtherWallet его можно увидеть после входа и разблокировки кошелька.

Далее, потребуется перевести криптовалюту Ethereum или токены ERC20.

  • Перевод с биржи криптовалют. Рассмотрим для примера популярную криптобиржу Binance (Бинанс). Выбрать «Актив» – «Снять наличные». Указать криптовалюту, ввести свой адрес и количество. Комиссия составит 0,01 ETH. На бирже EXMO, чтобы перевести криптовалюту на адрес Ethereum, нужно зайти в раздел «Кошелек», напротив символа «ETH» нажать «Вывести» и заполнить форму.  В продолжение: Рейтинг топ бирж криптовалют для торговли.

Любую транзакцию и баланс можно отследить с помощью обозревателей.

Dozens of Assets


Experience the variety of crypto assets available on Guarda Wallet!Over 45 major blockchain platforms! Store, send, receive, exchange, sell and buy crypto on Guarda or you can list your coin!




Bitcoin Cash

Bitcoin SV



Binance Coin


Ethereum Classic













Ravencoin Ravencoin

Waves Waves




See full list


Guarda Wallet supports all major token protocols!Any ERC-20 (ETH and ETC), ERC-721, BEP-2, TRC10, TRC20, WAVES, OMNI, EOS.Start your crypto journey with creating your own token!

Chainlink Chainlink


Basic Attention

BitTorrent BitTorrent

Augur Augur






0x Protocol ZRX Token


Everipedia Everipedia


OMG Token OMG Network

Pundi X


See full list

Trusted reviews

It has everything that I expected from a good wallet, it is even beyond my expectations! it is safe, I exchanged my ETH to Bitcoin on it with no problem, I have multi accounts with different currencies on it and…I really suggest it.

Ali Jafari

What makes a good wallet these days? Multiple wallets for many different coins and tokens, exchange facilities, easy clean user interface. If you thought of any of these you would be right, all those things make a good wallet. What makes a good wallet great? The team behind the wallet, their commitment to customer satisfaction and improvements to their product.

Ed Shiels

Superb customer and technical support even though it is free. Super fast replies and the way they explain is something others could learn and implement.\nI have not had such a great experience even when i have actually paid for a product and was trying to get help from tech support. The folks at Guarda are genuinely dedicated …


Функциональные возможности приложения

Бесконтактная система платежей Apple Pay становится все популярнее в России. Главные возможности приложения Эпл Валлет:

  1. Покупателю не придется брать с собой в магазин кошелек со скидочными картами для зачисления бонуса – все они будут находиться в виртуальном виде на телефонном устройстве. Карточка используется для выполнения бесконтактных транзакций в любом магазине.
  2. Apple исключает риск потери либо порчи карточки.
  3. Приложение встроено в программное обеспечение Айфона. Его не придется скачивать либо устанавливать.
  4. Если бонусная карточка стала неактуальной, ее просто удалить за несколько секунд.

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

Когда у вас есть сведения карт партнерских магазинов, которые работают с Эпл Пэй, вы можете получить к ним доступ при помощи нажатия кнопки домой. Карточки открываются даже при блокированном экране смартфона.

При подключении функции автоматического определения для вашей дисконтной карточки, воспользоваться необходимой получится при нажатии на извещение с изображением дисконта. Либо попытайтесь отыскать карту в списке сервиса.

Дальше следует приблизить гаджет к терминалу бесконтактного считывания. Для гарантирования безопасности выплат может требоваться подтверждение. Пользователю придется ввести код-пароль дисконта.

Приложение Apple дает пользователям просматривать историю использования карт, счет и скидку, получать сообщения об акционных предложениях и т.д. Его получится заблокировать на дистанции. Если телефонное устройство утеряется либо его украдут, то сведения о ваших карточках будут оставаться в полной безопасности.

Работа с неплатежными картами

Так называемые карты лояльности предоставляются различными магазинами и другими торговыми точками. С помощью этих карт можно накапливать бонусы, получать скидки и прочие приятности. Но далеко не все представители отечественного бизнеса поддерживают карты для Wallet. Точно можно сказать, что в ближайшее время данная технология будет внедрена практически везде. Но пока список экстремально короткий. Обычно торговые сети оповещают своих клиентов о возможности создать бонусную карту в Wallet с помощью СМС-сообщений. Поэтому стоит следить за такими рассылками. Часто появляется возможность сделать карту. И не стоит ее упускать.

Что такое Wallet?

Стоит отметить, что ранее приложение Wallet называлось Passbook. Оно впервые появилось в iOS в 2012 году и предназначалось для хранения карт лояльности, посадочных талонов, билетов в кино в электронном виде. Доступна такая прелесть была исключительно в США. На отечественные просторы такая опция вышла только через пару лет. Однако и Apple не дремала. К 2014 году в США запустили сервис Apple Pay (возможность оплаты покупок с помощью iPhone). И Wallet-passbook получил опцию для добавления карт оплаты. Также в приложении хранились данные о платежных реквизитах.

Не стоит и упоминать о том, что до России Apple Pay и обновленный Wallet добрались только к 2016 году. Лучше поздно, чем никогда. Однако и теперь далеко не везде есть возможность оплатить покупку с помощью айфона. А с картами лояльности ситуация и вовсе критическая. Но некоторые опции Wallet для iPhone доступны и у нас. Поэтому нужно их рассмотреть и описать. Стоит начать с самого простого и очевидного.

Получение баланса

  GET /OpenApi/balance
  GET /OpenApi/balance/{currencyId}

Возвращаются остатки по указанной валюте или по всем валютам, если валюта {currencyId} не указана. Пример ответа (для запроса без указания валюты):

    // Идентификатор валюты, согласно ISO 4217 (http://www.iso.org/iso/home/standards/currency_codes.html):
    "CurrencyId": 643,
    // Остаток:
    "Amount": 6.0000,
    // Сумма на сверхлимитном счете
    "OverLimitAmount": 6.0000,
    // Окрашенная часть остатка, на которую
    // распространяются определенные ограничения:
    "SafeAmount": 0.0000,
    // Часть остатка, заблокированная на время совершения
    // какой-либо расходной операции:
    "HoldAmount": 0.0000,
    // Доступный размер кредитного лимита:
    "Overdraft": 1.0000,
    // Сумма, доступная для совершения расходных операций:
    "AvailableAmount": 7.0000,
    // Является ли данная валюта основной:
    "IsNative": false,
    // Тип видимости
    "VisibilityType": "Always",
    // Прошел ли пользователь идентификацию в валюте
    "IsAccountIdentified": true,
    // Уровень идентификации валюты
    "IdentificationLevel": 11,
     // Филиал счета
     "BranchId": 120,
     // Истек ли срок действия удостоверения личности
     // по данной ИД
     "IdentificationExpired": false
 ... // Список балансов в различных валютах

Как привязать карту к iPhone

Как добавить дисконтную карту в Apple Wallet? Добавление дисконта в сервис безналичных операций не сложное. Это получится сделать с помощью сканирования штрих-кода и через определенные приложения. Если вы будете оплачивать приобретения в сети, которая работает с бесконтактными операциями Эпл Пэй, приложение автоматически предложит подключить определенную карточку.

Чтобы добавить скидочную карту в Wallet, следует выполнить такие шаги:

  1. Зайти в приложение Валлет, а затем в пункт добавления дисконта.
  2. Вписать сведения карточки вручную либо сканировать ее камерой мобильного устройства.
  3. Убедиться в точности вписанных сведений и подождать, пока система подтвердит действие.
  4. При успешном результате дисконт появится в Валлет.

Любую дисконтную карточку магазина-партнера получится добавить в Валлет с помощью такого способа. На неплатежных картах на задней стороне находится штрих-код. Сканируйте его с помощью камеры гаджета. Если при сканировании произошла ошибка, то придется самостоятельно вписать информацию дисконта в приложение.

Получение деталей платежа

GET /OpenApi/payments/{paymentId}

Получение деталей платежа по идентификатору W1.

GET /OpenApi/payments?externalId={externalId}

Получение деталей платежа по внешнему идентификатору.

Возвращается общая информация о платеже. Пример ответа:

  "PaymentId": 40211382,
  "Amount": 33,
  "CommissionAmount": 50.96,
  "UserBonusAmount": 0,
  "CurrencyId": 643,
  "State": {
    "StateId": "Created",
    "Description": ""
  "CreateDate": "2017-10-06T11:25:03.633Z",
  "UpdateDate": "2017-10-06T11:25:03.633Z",
  "MasterField": "555555******4444",
  "Provider": {
    "MinAmount": 1,
    "MaxAmount": 15000,
    "IsSafe": false,
    "ProviderId": "emtc",
    "UserId": 190331661018,
    "Title": "Вывод на карты РФ",
    "Description": "Перевод на карты Visa и MasterCard, эмитированные в России.",
    "Url": "http://mastercard.com/ru",
    "CurrencyId": 643,
    "Location": ,
    "IsActive": true,
    "IsFavourite": true,
    "LogoUrl": "http://www.w1.ru/w1/img/provider/ru/emtc.gif",
    "Commission": {
      "Rate": 2.9,
      "Cost": 50,
      "Min": 0,
      "Max": 0,
      "BonusRate": 0
    "IsBottomCommission": false,
    "IsComplexCommission": false,
    "IsInstantPayment": true,
    "ProviderTypeId": "InputForm",
    "MasterFieldId": "CardNumber",
    "MasterFieldTitle": "Номер карты",
    "ProviderGroupId": "Output"

Поскольку обработка платежа может продолжаться некоторый период времени, текущее состояние платежа можно получить вызывая данный метод. Возможные состояния ( * отмечены конечные состояния):

  • Created — платеж создан (идентификатор зарезервирован).
  • Updated — платеж изменен (внесены данные одного или нескольких шагов, актуально для многошаговых провайдеров).
  • Blocked – платеж заблокирован системой.
  • Processing – платеж в находится в обработке сервером ЕК.
  • Checking – платеж проходит проверку на стороне провайдера.
  • Paying — платеж в обработке на стороне провайдера.
  • Checked — платеж успешно проверен. На провайдере может быть включена задержка вывода на новые реквизиты (как правило это 1 сутки). В этом случае платеж автоматически будет переведен в конечное состояние по прошествию данного периода.
  • ProcessError* — при обработке платежа произошла ошибка.
  • CheckError* — ошибка проверки платежа.
  • PayError* – ошибка проведения платежа на стороне провайдера.
  • Canceled* — платеж отменен.
  • Paid* – платеж проведен успешно.

Также есть возможность получения только состояния платежа по идентификатору W1:

GET /OpenApi/payments/{paymentId}/state

Пример ответа:


В данном случае StateId аналогичен указанному выше.

Пример на PHP (с использованием ЭЦП)

*для лучшего восприятия последующие примеры приведены без использования ЭЦП):

date_default_timezone_set('UTC'); //Установка часового пояса UTC+0

$url = "https://api.w1.ru/OpenApi/providers?page=1&itemsPerPage=10";//запрашиваемый URL
$accessToken = "D0B03330-0F31-4745-99E9-0D17977E37BC";//код авторизации
$date = date("Y-m-d\TH:i:s");//текущая дата в формате yyyy-MM-ddTHH:mm:ss
$secretKey = "7377436d4f597b4e536f54537c5d55574c61734d314e514a5f676d";//секретный ключ приложения

$fields = array();
$fields = $url;
$fields = $accessToken;
$fields = $date;
$fields = "";
$fields = $secretKey;

$fieldValues = "";
foreach($fields as $value)
       foreach($value as $v)
           //Конвертация из текущей кодировки (UTF-8)
           //необходима только если кодировка магазина отлична от Windows-1251
           $v = iconv("utf-8", "windows-1251", $v);
           $fieldValues .= $v;
       //Конвертация из текущей кодировки (UTF-8)
       //необходима только если кодировка магазина отлична от Windows-1251
       $value = iconv("utf-8", "windows-1251", $value);
       $fieldValues .= $value;

// Формирование значения параметра WMI_SIGNATURE, путем
// вычисления отпечатка, сформированного выше сообщения,
// по алгоритму MD5 и представление его в Base64
$signature = base64_encode(pack("H*", md5($fieldValues)));

//параметры запроса
$optUrl = $url;
$optHeader = array(
   "Authorization: Bearer ".$accessToken,
   "Accept: application/vnd.wallet.openapi.v1+json",
   "Content-Type: application/vnd.wallet.openapi.v1+json",
   "X-Wallet-Timestamp: ".$date,
   "X-Wallet-Signature: ".$signature

$ch = curl_init();
curl_setopt_array($ch, array(
   CURLOPT_URL => $optUrl,
$response = curl_exec($ch);

//массив со списком провайдеров и их количеством
$providers = json_decode($response, true);

//получаем провайдера
$provider = array_shift($providers);

Приобретение билетов в кино

Мало кто знает, но, приобретя билеты на каком-нибудь популярном онлайн-сервисе, можно добавить их в Wallet и спокойно использовать их электронные копии для прохода в кино. Пока в России не особо много сервисов поддерживают эту опцию. Но «Киноход», Rambler, Parter, Tickets, «Яндекс.Касса», «Кинопоиск» точно поддерживают. Можно смело приобретать билеты в кино, на концерты и другие мероприятия и использовать их электронные копии из Wallet при входе.

Однако не стоит забывать, что далеко не во всех городах нашей необъятной Родины работники развлекательных заведений знают, что такое Apple Wallet и с чего это вдруг им вместо билета суют телефон с какой-то невразумительной информацией на экране. В глубокой провинции такие новшества пока еще вызывают шок. Так что не стоит нервировать людей. В провинциальный кинотеатр пока еще лучше ходить, имея при себе классический бумажный билет. Так будет надежнее и не возникнет глупых и неприятных вопросов.

С этим читают