В статье рассказывается как поставить приложение Mir Pay и Tinkoff Pay на часы Huawei Watch. Я использовал 4 версию, что также подходит для версии 4 Pro т.к. они идентичны по железу.
Установка PIN кода
Для работы платёжных приложений нужен PIN-код. Если вы его потом отключите, то карты удалятся и вам придётся их добавлять снова в приложение.
Настройки → PIN-код
Перевод часов в режим разработчика
Нажмите быстро по "Harmony OS" 7 или более раз пока не появится надпись "Режим разработчика включён".
Настройки → Об устройстве → Harmony OS → Нажать 7 раз
Включите Wi-Fi
Часы и ваш компьютер или телефон должны находится в пределах одной сети, т.е. подключены к одному маршрутизатору (роутеру).
Настройки → Wi-Fi → Вкл.
Режим энергосбережения
На часах может быть включён режим энергосбережения который будет отключать сеть. Из настроек не совсем понятно какую сеть он отключает: мобильную LTE или Wi-Fi, поэтому при проблемах с соединением рекомендуется отключить эти опции на время. Также это поможет в будущем получать сессионые ключи для Mir Pay (об этом ниже).
Настройки → Батарея → Энергосбережение → Автовыключение сети → Когда подключены к телефону → Выкл.
Настройки → Батарея → Энергосбережение → Автовыключение сети → Когда не надеты → Выкл.
Настройки → Батарея → Энергосбережение → Автовыключение сети → В спящем режиме → Выкл.
Включение экрана
В процессе соединения часов с телефоном или компьютером экран должен постоянно гореть, иначе соединение будет отваливаться. Поставьте максимальное время горения экрана.
Настройки → Экран и яркость → Спящий режим → 5 мин
Настройки → Экран и яркость → Экран включён → 20 мин
В выпадающем меню сверху включите чтобы экран горел постоянно - он будет гореть 20 минут если его не трогать. Также нажимайте эту кнопку при оплате на кассе c помощью Mir Pay, т.к. при переворачивании руки экран гаснет и оплата может не пройти.
Включите опцию чтобы экран не гас во время зарядки. В этом случае вы можете просто положить на зарядку во время соединения. В моём случае соединение на зарядке обрывалось, а без зарядки было нормальным, но пропадало когда экран гас.
Настройки → Для разработчиков → Экран не гаснет → Вкл.
Включение отладки
Включите отладку "Цетра разработки оборудования"
Настройки → Для разработчиков → Отладка по HDC → Вкл.
Включите отладку по Wi-Fi. После включения в этом меню у вас должен появиться IP адрес часов и порт. Если этого не произошло то попробуйте включить и выключить это опцию или Wi-Fi в часах вообще.
Настройки → Для разработчиков → Отладка по Wi-Fi → Вкл.
Установка Bugjaeger Mobile ADB
Установите отладчик Bugjaeger Mobile ADB на телефон
В моём случае соединение в 5 версии сначала не прошло, поэтому поставил версию 4.6 - там прошло. Затем обновил до 5 - так чудесным образом и там заработало.
Можете сразу скачать Tinkoff pay и Mir Pay, но можно и не скачивать и в дальнейшем поставить копии уже установленных версий на телефоне:
Alfa Pay (Google Services)
Alfa Pay Huawei (Вроде её надо ставить, но походу она более бажная чем обычная версия под телефоны с сервисами Гугла)
Mir Pay 1.18.3.347 (Рекомендуется)
Рекомендуется ставить Mir Pay версии 1.18 т.к. версия 1.21 уходит в перезагрузку при попытке подверждения операций (на банкоматах).
Установка соединения с Bugjaeger
Видео по установке Mir Pay на Galaxy Watch, но суть та же:
Перед самым соединением с Bugjaeger сделайте так чтобы часы постоянно горели. Зайдите в меню разработчика и посмотрите чтобы был назначен IP адрес с портом. Не позволяйте часам погаснуть, иначе соединение оборвётся! Советую постоянно оставаться в меню "Для разработчиков" и часто трогать часы.
Настройки → Для разработчиков → Отладка по Wi-Fi
Нажмите на иконку плюсика с вилкой "+🔌" и впишите туда IP адрес и порт.
В это время часы спросят "Разрешить отладку по USB?" и покажут RSA ключ. Поставьте флажок "Всегда разрешать этому устройству".
Выключение сервисов Huawei
Необходимо выключить мобильные сервисы Huawei чтобы приложение поставилось.
Переходите на 3 вкладку "Packages" и ищете пакет "com.huawei.hwid", в меню с тремя точками жмёте "Disable".
Packages → com.huawei.hwid → Disable
Выключаем проверку приложений
В первой вкладке "Commands" открываете консоль, для этого нужно нажать в самом низу справа на иконку "<>".
Вводите туда следующую команду:
pm disable-user com.android.packageinstaller
Вы должны получить ответ "Package com.android.packageinstaller new state: disabled-user". Если этого не произошло, значит ваши часы погасли и соединение отвалилось. Переподключайтесь заново.
Установка приложений
Выбираете 3 вкладку "Packages" и жмёте на иконку плюса в круге "⊕".
Вам необходимо выбрать имеющийся APK файл или уже установленную программу на смартфоне. В последнем случае установить Tinkoff Pay у меня не получилось, хотя версии APK и установленная на сматрфоне совпадали. Mir Pay установился нормально из уже установленного на смартфоне верссии 1.21.1.340. Tinkoff Pay установился нормально из APK файла версии 6.19.0.
Packages → Select APK File
Packages → Select from Installed Apps
Установка может занять продолжительно время. Не позволяйте экрану погаснуть оборвав соединение.
Настройка Mir Pay, Tinkoff Pay, Sber Pay и Alfa Pay
Т.к. приложения не оптимизированы специально для часов, то необходимо уменьшить шрифт. Это делается командой "wm density" с параметром размера.
В консоле на первой вкладке "Commands" вводите комманду:
wm density 110
Если Mir Pay будет выдавать ошибку что нельзя добавить карту или есть ошибка с клиентскими данными, то попробуйте удалить и установить приложение снова.
Вводите номер карты и смс:
input text 2200112233445566
Или вводите толстыми пальцами смотря за лупу.
Увеличиваете шрифт до 150 или другого оптимального размера и в настройках включаете тёмную тему, ставите слабый виброотклик и запрещаете запрос подтверждения операций, ставите приложение Mir Pay основным платёжным приложением.
wm density 150
Проверяете чтобы NFC был включён
Настройки → Другие соединения → NFC → Вкл.
Проверяете чтобы Mir Pay стоял по умолчанию
Настройки → Другие соединения → Платёжное приложение по умолчанию→ Mir Pay
После внесения необходимых настроек в приложении ставите изначальный размер 320:
wm density reset
Для ввода пароля в Tinkoff Pay и Alfa Pay понадобится размер около 270 и меньше:
wm density 270
После перезагрузки этот параметр сбросится до стандартных. Tinkoff Pay и Alfa Pay имеют встроенную клавиатуру в которой цифры по бокам и особенно первый ряд съезжают за края экрана, поэтому рекомендуется ставить пароль на приложение только из средних цифр, а если у вас толстые пальцы, то вообще только из 5 и 8 для Tinkoff Pay и 2 и 5 для Alfa Pay. Также пароль запрашивается при покупках от 1000 рублей. Если вы уже поставили приложение, то его надо будет переустановить заново.
Добавляете Mir Pay на нижнюю кнопку для быстрого доступа:
Настройки → Нижняя кнопка
Alfa Pay
Привязать можно только одну карту к одному устройству. Если вы привяжете карту к часам, то она отвяжется на телефоне. Поэтому скорее всего вам нужно будет выпустить виртуальную карту Мир.
В настройках включите все настройки - NFC, приложение по умолчанию, экран оплаты поверх окон...
В часах приложение Альфа-Банка ставится по умолчанию в
Настройки → Другие Соединения → Платёжное приложение по умолчанию Альфа-Банк
Далее в часах делаются аналогичные действия по подключению Alfa Pay:
Первые сутки после входа устройство является недоверенным с целью безопасности. Также если вы переустановили приложение, то устройство опять будет недоверенным. Вы можете сделать его доверенным зайдя на телефоне в приложение:
Настройки → Привязанные устройства
Если есть проблемы с подключением, то подождите сутки...
Включаем возможность работы приложения в фоне
Платежи будут проходить с большей вероятностью если приложение будет висеть в фоне, а также таким образом оно будет чаще обновлять сессионные ключи (токены) необходимые для оплаты. Батарейка будет немного тратиться конечно из-за этого.
dumpsys deviceidle whitelist +ru.nspk.mirpay
dumpsys deviceidle whitelist +com.idamob.tinkoff.android
dumpsys deviceidle whitelist +ru.alfabank.mobile.android.huawei
adb shell dumpsys deviceidle whitelist +ru.alfabank.mobile.android
dumpsys deviceidle whitelist +ru.sberbankmobile
Выключаем возможность работы приложения в фоне
Если не хотите чтобы садился аккумулятор.
dumpsys deviceidle whitelist -ru.nspk.mirpay
dumpsys deviceidle whitelist -com.idamob.tinkoff.android
dumpsys deviceidle whitelist -ru.alfabank.mobile.android.huawei
adb shell dumpsys deviceidle whitelist -ru.alfabank.mobile.android
dumpsys deviceidle whitelist -ru.sberbankmobile
Сделать чтобы NFC оставался включённым в режиме полёта
settings put global airplane_mode_radios cell,bluetooth,wifi,wimax
content update --uri content://settings/global --bind value:s:'cell,bluetooth,wifi,wimax' --where "name=\'airplane_mode_radios\'
Чтобы оставались eSIM и NFC в режиме полёта для подтягивания токенов:
adb shell settings put global airplane_mode_radios bluetooth,wifi,wimax
content update --uri content://settings/global --bind value:s:'bluetooth,wifi,wimax' --where "name=\'airplane_mode_radios\'
Вернуть как было чтобы eSIM и NFC отключались в режиме полёта:
adb shell settings put global airplane_mode_radios cell,bluetooth,wifi,nfc,wimax
db shell content update --uri content://settings/global --bind value:s:'ce
Включение сервисов Huawei
После установки включаете мобильные сервисы обратно:
Переходите на 3 вкладку "Packages" и ищете пакет "com.huawei.hwid", в меню с тремя точками жмёте "Enable".
Включаете проверку приложений
В консоле в 1 вкладке "Commands" пишете:
pm enable com.android.packageinstaller
Я этого делать не стал на будущее т.к. планирую ещё другие приложения устанавливать.
Использование без подключения к интернету
Tinkoff Pay
Не работает без интернета вообще!..
Mir Pay
Хотя НПСК и их техподдержка и заявляет что Mir Pay работает без интернета, но на деле это не так:
Нужно ли подключение к интернету для оплаты покупки?
Нет, для совершения покупок наличие интернета не нужно.
Могу ли я совершать покупки если отсутствует Интернет?
Да, Mir Pay позволяет оплатить покупки даже при отсутствии подключения к сети. Для этого на смартфоне в зашифрованном хранилище резервируются уникальные ключи оплаты, с помощью которых будут выполняться платежи. Но количество таких ключей ограничено. В случае длительного отсутствия подключения к сети может понадобиться восстановление соединения для загрузки новых ключей.
Как видно из справочной информации Mir Pay, для оплаты нужны сессионные ключи (токены). Приложение получает их несколько штук (видимо, до 5) при подключении к интернету и они имеют некий срок действия. При очередном подключении к интернету и запуске приложения они обновляются. Соответственно, как минимум при первой оплате должен быть включен интернет, если с момента добавления карты прошло много времени.
По моему опыту, оплата без интернета сработала только пару раз из где-то 10 попыток, т.е. всего-то в 20% случаев. Возможно, само оборудование терминалов не может работать с такими оффлайн ключами. После этого перед прикладыванием смартфона я всегда стал включать интернет и платежи стали проходить.
Соответственно, чтобы оплата на часах работала, на часах тоже должен быть включён интернет, а соответственно установлена eSIM карта и включена мобильная сеть, выключен "Режим полёта".
Другой вариант - использование интернета смартфона при соединении через Bluetooth, соответственно он должен быть включён на смартфоне.
По умолчанию, на часах работает режим экономии энергии который отключает мобильное соединение - имейте это в виду. Его стоит отключить для получения ключей в Mir Pay через мобильную сеть.
Настройки → Мобильная сеть → Автовыключение сети → Когда подключены к телефону → Выкл.
Установка с комьютера
Нужно установить Android SDK Platform Tools в котором есть нужная нам утилита ADB (Android Debug Bridge).
По желанию можно добавить директорию в переменные среды PATH.
Открываете командную строку нажатием WIN+R, пишите без ковычек "cmd.exe"
Далее команды выполняете в командной строке. Если соединение отваливается, но потрогайте экран и перейдите в раздел "Настройки → Для разработчиков".
Переход в нужную директорию:
cd C:\android\platform-tools_r34.0.4-windows
Переход на директорию выше:
cd ..
Подключение
adb connect 192.168.0.8:5555
Ответ: * daemon not running; starting now at tcp:5037
* daemon started successfully
На часах нужно принять RSA ключ и поставить галку.
Выключаем проверку приложений
adb shell pm disable-user com.android.packageinstaller
Ответ: Package com.android.packageinstaller new state: disabled-user
Выключение сервисов Huawei
adb shell pm disable-user --user 0 com.huawei.hwid
Ответ: Package com.huawei.hwid new state: disabled-user
Удаление сервисов Huawei
Вместо выключения их можно удалить, а затем поставить заново.
Также это может понадобится при дальнейшей установке китайской версии сервисов для определения сахара в крови.
adb shell pm uninstall --user 0 com.huawei.hwid
Ответ: Success
Установка пакетов APK
adb install "Mir+Pay_1.18.3.347.apk"
Ответ: Performing Streamed Install
Success
adb install "Тинькофф 6.19.0.apk"
Ответ: Performing Streamed Install
Success
adb install "alfa-bank-h.apk"
Ответ: Performing Streamed Install
Success
adb install SberHW 14.14 0(arm7).apk
Ответ: Performing Streamed Install
Success
Просмотр списка установленных пакетов
adb shell pm list packages
Пакеты третьих сторон:
adb shell pm list packages -3
Удаление пакетов
Если не понравилось, то приложения можно удалить:
adb shell pm uninstall com.idamob.tinkoff.android
Ответ: Success
adb shell pm uninstall ru.nspk.mirpay
Ответ: Success
adb shell pm uninstall ru.alfabank.mobile.android.huawei
Ответ: Success
adb shell pm uninstall ru.alfabank.mobile.android
Ответ: Success
adb shell pm uninstall ru.sberbankmobile
Ответ: Success
Изменение размера шрифта
Подберите под себя как удобнее.
adb shell wm density 110
Ответ пустой.
adb shell wm density 270
Ответ пустой.
adb shell wm density reset
Ответ пустой.
Ввод текста
Если клавиатура маленькая и пальцы большие.
adb shell input text 2200112233445566
Ответ пустой.
Включение сервисов Huawei
adb shell pm enable com.huawei.hwid
Ответ: Package com.huawei.hwid new state: enabled
Установка сервисов Huawei
Если ранее вы их удаляли.
adb shell cmd package install-existing com.huawei.hwid
Ответ: Package com.huawei.hwid installed for user: 0
Включаем проверку приложений
adb shell pm enable com.android.packageinstaller
Ответ: Package com.android.packageinstaller new state: enabled
Включаем возможность работы приложения в фоне
Необязательно, но увеличит вероятность прохождения оплат.
adb shell dumpsys deviceidle whitelist +ru.nspk.mirpay
Ответ: Added: ru.nspk.mirpay
adb shell dumpsys deviceidle whitelist +com.idamob.tinkoff.android
Ответ: Added: com.idamob.tinkoff.android
adb shell dumpsys deviceidle whitelist +ru.alfabank.mobile.android.huawei
Ответ: Added: ru.alfabank.mobile.android.huawei
adb shell dumpsys deviceidle whitelist +ru.alfabank.mobile.android
Ответ: Added: ru.alfabank.mobile.android
adb shell dumpsys deviceidle whitelist +ru.sberbankmobile
Ответ: Added: ru.sberbankmobile
Выключаем возможность работы приложения в фоне, если не хотите чтобы садилась батарейка:
adb shell dumpsys deviceidle whitelist -ru.nspk.mirpay
adb shell dumpsys deviceidle whitelist -com.idamob.tinkoff.android
adb shell dumpsys deviceidle whitelist -ru.alfabank.mobile.android.huawei
adb shell dumpsys deviceidle whitelist -ru.alfabank.mobile.android
adb shell dumpsys deviceidle whitelist -ru.sberbankmobile
Сделать чтобы NFC оставался включённым в режиме полёта
Необязателльные настройки - для будущей оптимизации...
adb shell settings put global airplane_mode_radios cell,bluetooth,wifi,wimax
Ответ пустой.
adb shell content update --uri content://settings/global --bind value:s:'cell,bluetooth,wifi,wimax' --where "name=\'airplane_mode_radios\'
Ответ пустой.
Чтобы мобильная сеть через eSIM и NFC оставались включенными в режиме полёта для подтягивания токенов для оплаты в Mir Pay:
adb shell settings put global airplane_mode_radios bluetooth,wifi,wimax
Ответ пустой.
adb shell content update --uri content://settings/global --bind value:s:'bluetooth,wifi,wimax' --where "name=\'airplane_mode_radios\'
Ответ пустой.
Вернуть как было по умолчанию чтобы eSIM и NFC отключались в режиме полёта:
adb shell settings put global airplane_mode_radios cell,bluetooth,wifi,nfc,wimax
Ответ пустой.
adb shell content update --uri content://settings/global --bind value:s:'cell,bluetooth,wifi,nfc,wimax' --where "name=\'airplane_mode_radios\'
Ответ пустой.
Посмотреть права приложения
adb shell pm list permissions
adb shell cmd appops get com.huawei.music.wear
adb shell dumpsys com.huawei.music.wear
Дать права музыкальному плееру
adb shell pm grant com.huawei.music.wear android.permission.READ_EXTERNAL_STORAGE
Как удалить карту из Mir Pay без изменения DPI?
Если хотите удалить ненужную карту без изменения DPI с помощью команды wm density, то идёте на вкладку Карты, далее жмёте на меню с 3 точками возле карты "⋮". В самом низу будет пункт "Связаться с эмитентом". Ниже этого меню находится пункт "Удалить карту". Посмотрите на телефоне чтобы понимать где он находится. Вы не увидете надпись на часах, но можете попробовать нажать на самую нижнюю область под пунктом "Связаться с эмитентом" мизинцем или стилусом. Если не получается, то поменяйте DPI с помощью команды wm density на 80 - 120. Значение подбирается эксперементально, т.к. при разных значениях всё разъезжается.
В Буджагере:
wm density 80
С компьютера:
adb shell wm density 100
Статистка использования
Mir Pay
версия 1.21.1.340
- 1 банкомат Аьфабанка в отделении для юридических лиц - не прочиталось вообще. 1 банкомат Альфабанка в отделении для физических лиц - тоже не прочиталось. Как банкоматы, там и приложение выдали ошибку. По сообщениям людей, приложение со смартфонов тоже нигде не считывается в банкоматах Альфабанка, поэтому это не проблема часов, а проблема в целом что банкоматы вообще не работают с Mir Pay.
- 1 банкомат Тиньков - заряда оставалось 5%, часы ушли в перезагрузку. Владельцы советуют ставить версию 1.18 чтобы этого не было.
- 1 банкомат ВТБ - часы перезагрузились при прикладывании. Думал как в случае с банкоматом Тинькова повлиял маленький заряд батареи, а нет - заряда было 90%.
- POS-терминал в маленьком магазине, похоже очень древний терминал - не прочиталось.
- POS-терминал в кафешке - прочиталось, далеко стоял терминал и сигнал NFC был слабый, пришлось снимать часы и ровно тыкнуть их стекло в стекло. По ощущениям сигнал даже слабее сигнала у платёжных стикеров под чехлами телефонов.
- POS-терминал на кассе самообслуживания в супермаркете - прочиталось. Тут над душой никто не стоял в очереди, и можно было часы нормально приложить на пару секунд ровно стеклом к стеклу.
Советую поставить блокировку экрана чуть больше чем 10 секунд, т.к. вы задолбаетесь вводить PIN-код несоклько раз, пока продавщица наконец скажет вам прикладывать карту.
Как видно по статистике, обычную пластиковую карту всё равно придётся с собой таскать, а часы уже совсем на крайний случай если забыли карту дома, да и снимать их каждый раз из-за слабого сигнала неудобно и ещё вводить PIN-код, особенно если стоит большая очередь за вами.
Версия 1.18.3.347
- Оплата сработала в кинотеатре без интернета и кафешке в нём.
- Оплата сработала в супермаркете без интернета. Не следующий день в том же супермаркете перестала работать без интернета и оплата прошла после включения мобильной сети через eSIM. Также на следующий день в том же супермаркете оплата не сработала с включённой мобильной сетью через eSIM. Похоже что приоритет был лезть через Bluetooth соединение, а на телефоне интернет был отключён. При этом, соответственно, оффлайн токен не был использован. Не знаю, сработала бы оплата если бы отключил eSIM и Bluetooth...
Опытным путём было установлено что Mir Pay работает без интернета при условии что ключи (токены) обновлялись всего сутки назад (или двое) и выдаются в количестве всего пары штук (ну может 3 или максимум до 5). Не рассчитывайте что Mir Pay будет работать где-то в далёких поездках где нет интернета или вы выключили его для экономии заряда батареи или из-за роуминга или у вас вообще деньги на симкарте закончились. Берите с собой обычную карту! Также вы задолбаетесь изгибаться и выворачивать руку в магазине на кассе чтобы дотянуться часами до некоторых терминалов, а некоторые терминалы есть вообще без поддержки NFC. Поэтому, берите с собой обычную пластиковую карту!
Tinkoff Pay
Версия 6.19.0
- Оплата в супермаркете на кассе самообслуживания не сработала без интернета вообще. eSIM и Bluetooth были отключены. Приложение было поставлено как основное. Приложение дико тормозит. При включенном интернете оплата тоже не прошла.
При оплате больше 1000 руб надо вводить код на их клавиатуре которая вылазит за экран. Не работает без интернета вообще в отличие от Mir Pay. Удалил Tinkoff Pay т.к. привязать карту Тинькова можно и к Mir Pay и последнее более удобное из-за возможности выбора карт, отсутствия необходимости вводить код и возможности оплаты без интернета (хоть и работает так редко).
Alfa Pay
Версия 12.01.05
- Сначала поставил версию для Huawei - подключить не удалось. Затем поставил обычную версию для Android - описание ошибки уже было более осмысленным - недоверенной устройство. Возможно та же ошибка, а может другая. Ситуация как с Tinkoff Pay - приложение запрашивает пароль для открытия приложения на встроенной клавиатуре на которой уезжают цифры за пределы экрана. Без интернета не работает.
Резюме:
Ставьте Mir Pay 1.18.3.347. Не заморачивайтесь с установкой всяких других банковских "пеев" или сделайте карту Union Pay для Кошелька от Huawei.
Промокоды и реклама:
При открытии карты по ссылке вам будет небольшой бонус...
Оформи дебетовую Альфа-карту по уникальной ссылке, соверши первую покупку от 1000 руб. в течение 30 дней с момента оформления карты и получи кэшбэк 1000 руб., а также кэшбэк до 5% на 3 категории и до 100% на еще 1 дополнительную категорию. И 1% на всё гарантированно!
Акция доступна для новых клиентов (или тех, кто 90 дней назад закрыл счет) из РФ во всех городах присутствия банка и доставки карт. Перечень городов, где осуществляется доставка карты на дом, см. на сайте.
Альфа-Карта должна быть у всех!
- Бесплатная всегда и без условий
- Кэшбэк до 100% на одну категорию, 5% в трёх и 1% на всё
- 9% годовых по накопительному Альфа-Счёту
- Все переводы и платежи без комиссии
С дебетовой Альфа-Картой можно получать повышенный кэшбэк в разных категориях
На отпуск
• 20% на отели в сервисе Альфа Путешествия
• 10% на авиабилеты в сервисе Альфа Путешествия
• 5% на ж/д билеты в сервисе Альфа Путешествия
На косметику
• до 20% в магазинах и на сайте Подружка
• 15% в интернет-магазине Yves Rocher
• До 10% в магазине и на сайте РИВ ГОШ
• До 8% в интернет-магазине Л’Этуаль
На покупки для пикника
• 5% на сайте Ашан
• 20% в сервисе Самокат
• 15% в сервисе Магнит Доставка
• 15% на сайте Перекрёсток