Перейти к содержанию

Кейс

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

В приложении клиента всё было на английском, кроме шага добавления карты: он открывался на другом языке, а страна выставления счёта уже была выбрана. Рассказываем, что мы нашли, что изменили и почему исправление в коде ещё не дошло до клиентов.

Главное

  • Язык вашего приложения и язык вашего телефона — разные настройки, и форма карты может следовать не той.
  • Страну выставления счёта, уже заполненную, клиент легко не заметит, и стоит спросить, почему она там.
  • Исправление, включённое в код, не доходит до клиентов, пока новая версия не опубликована и не установлена.
  • Вы можете проверить это сами: поставьте на телефон другой язык и добавьте карту в своём приложении.
  • Когда исправление оплаты готово, спросите, работают ли старые версии приложения, ведь они продолжают обращаться к вашему серверу.

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

Именно с этим к нам обратились по поводу клиента, и за одной жалобой стояли две проблемы. Было и третье, о чём стоит знать: исправить код и дойти до клиентов — не одно и то же.

Что видел бизнес

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

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

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

Почему так бывает в похожих приложениях

Язык вашего приложения и язык вашего телефона — две разные настройки, и форма оплаты может следовать не той.

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

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

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

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

Что нашли наши инженеры

Форма оплаты открывалась на системном языке телефона, а не на языке, который клиент выбрал внутри приложения, то есть собственная настройка клиента игнорировалась.

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

Мы ответили сразу, и изменение было готово в течение одного рабочего дня.

Что мы изменили

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

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

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

Что из этого вышло

Анализ кода прошёл без замечаний, и наборы тестов приложения и сервера прошли. Интерфейс сервера остался совместим со старыми версиями приложения, а это важно: клиентов, которые не обновились, не должно отрезать изменением, сделанным для всех остальных.

Новая версия ещё не опубликована в App Store и Google Play, поэтому клиенты с уже установленным приложением по-прежнему видят старое поведение. Исправление есть в коде, но пока не на их устройствах.

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

Что вы можете проверить сами

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

Что делать дальше

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

Три вопроса дадут вам ясный ответ от того, кто занимается вашим приложением:

  1. Исправление в коде или опубликовано в магазинах?
  2. Какую версию используют клиенты и откуда вы это знаете?
  3. Что происходит с клиентами, которые не обновились?

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

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

Почему в моём приложении форма оплаты на другом языке, чем всё остальное?

У приложения и у телефона свои настройки языка. Экраны самого приложения следуют языку, который клиент выбрал внутри приложения, а форма карты обычно — отдельная часть, которую поставляет тот, кто обрабатывает ваши платежи по картам, и она может читать системный язык телефона. Исправление в том, чтобы задать форме оплаты язык из приложения, а не оставлять этот выбор устройству.

Нужно ли заранее заполнять страну выставления счёта для клиентов?

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

Исправление сделано, почему же мои клиенты всё ещё видят старое поведение?

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

Как узнать, какую версию приложения на самом деле используют мои клиенты?

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

Может ли изменение формы оплаты сломать клиентов на старых версиях приложения?

Может, если сервер перестанет принимать то, что отправляют старые версии приложения. Поэтому совместимость стоит проверять в ходе работы, а не после. В этом случае интерфейс сервера остался совместим со старыми версиями приложения, и наборы тестов приложения и сервера прошли.

От NewGen

Хотите, чтобы этим занимались за вас?

Ваш собственный инженер делает и ведёт сайт, приложение, CRM и ИИ-ассистента, который отвечает вашим клиентам.

3 600 AED в месяцПервые 7 дней — бесплатно.

Мы считаем посещения блога своей аналитикой, без Google, и никому не передаём, что вы читаете. Можно запомнить этот браузер с помощью cookie? Подробнее — в политике конфиденциальности.