Следите за использованием ключа, пока не упёрлись в лимит
Наблюдение за заголовками квоты по ходу работы показывает приближение к лимиту задолго до того, как запрос будет отклонён.
Цена в незнакомой валюте заставляет посетителя остановиться и посчитать в уме, прежде чем что-либо решить, а ведь именно в этот момент страница цен должна быть максимально понятной.
Определите IP-адрес посетителя и прочитайте поле country_code, которое можно сопоставить с валютой с помощью собственной таблицы соответствий, той же, что вы использовали бы, если бы клиент сам назвал вам свою страну.
GET /v1/ip?ip=203.0.113.150{
"status": "ok",
"ip": "203.0.113.150",
"version": 4,
"found": true,
"country": "Canada",
"country_code": "CA",
"region": "Ontario",
"city": "Toronto",
"postcode": "M5H",
"lat": 43.6511,
"lon": -79.3808,
"timezone": "America/Toronto",
"asn": 4321,
"org": "Example ISP"
}Показ пересчитанной цены для удобства чтения не требует реального списания в этой валюте. Для примера, собственные цены My Geocode указываются только в EUR по всему миру, независимо от того, откуда клиент регистрируется, и такое же разделение применимо к вашей странице цен: вы можете показывать локализованную оценку, по-прежнему проводя каждую транзакцию в той валюте, которую на самом деле поддерживает ваш платёжный провайдер.
Если вы показываете пересчитанную оценку, а не цену, которую действительно спишете в этой валюте, чётко пометьте её как оценку, поскольку курсы валют меняются, и посетитель, ожидающий списания ровно той суммы, которую видел, будет застигнут врасплох, если реальное списание пройдёт в другой валюте по другому курсу.
Некоторые посетители путешествуют, пользуются VPN или просто хотят видеть цены в другой валюте, а не в определённой автоматически. Небольшой переключатель валюты рядом с определённым значением по умолчанию не требует дополнительных запросов и не оставляет никого в ловушке неверного значения по умолчанию.
Одно определение IP на новую сессию посетителя с кэшированием на время визита равно одному запросу. Даже страница цен с большим ежедневным трафиком укладывается в 2 500 бесплатных запросов в день, входящих в каждый ключ, или в такой же лимит, доступный с одного адреса без ключа.
Определение вероятной валюты по данным IP устраняет небольшое, но реальное препятствие на странице цен, если при этом чётко указана фактическая валюта расчётов. Список полей приведён в документации по определению IPv4, а то, как мы сами это делаем, можно посмотреть на странице цен My Geocode.