Выбор валюты пользователем
Общая информация
В некоторых случаях может быть актуальным предоставлять пользователям выбор удобных для них валют непосредственно в платёжной форме. При работе с Payment Page такая возможность может „бесшовно“ встраиваться в сценарии проведения разных видов платежей, с поддержкой широкого спектра допустимых валют, гибкой настройкой и автоматической конвертацией в тех случаях, когда она необходима.
При работе с Payment Page можно предоставлять пользователям выбор валют непосредственно в платёжной форме.
В пользовательских сценариях при подключении такой возможности предварительно выбранной всегда выступает валюта, указанная в запросе на открытие Payment Page, и вместе с тем появляется возможность выбрать любую из других доступных валют, увидеть актуальную сумму платежа в этой валюте и подтвердить платёж с учётом выбора.
Такая функциональностьВыбор валюты в платёжной форме поддерживается, прежде всего, для наиболее популярных методов с глобальным покрытием — классических карточных платежей и платежей с использованием методов Apple Pay и Google Pay. С вопросами о подключении, настройке и использовании этой функциональности, как и с предложениями о её развитии, можно обращаться к курирующему менеджеру ecommpay.
Особенности и ограничения
При подключении и использовании выбора валют в платёжной форме стоит учитывать следующие особенности и ограничения:
- Методы с возможностью выбора валют должны быть доступны к прямому выбору в платёжной форме.
В частности, в отношении методов Apple Pay и Google Pay это значит, что кнопки выбора этих методов должны располагаться в Payment Page непосредственно на странице выбора метода, а не на панели указания данных карты (когда они выступают в интерфейсе как дополнительные варианты к оплате с прямым использованием карты и не могут быть выбраны независимо от классических карточных платежей). Когда это условие соблюдается, метод может быть выбран предварительно, через указание его кода в запросе, или непосредственно на форме пользователем, а после выбора метода обеспечивается возможность выбора валюты. Иначе выбор валюты для таких методов становится недоступным.
- Валюта может выбираться только из доступных пользователю, и доступностью валют можно управлять.
В базовом случае к доступным относятся те валюты, которые поддерживаются в качестве операционных для используемого проекта и по которым может выполняться конвертация в рамках конкретного сеанса работы платёжной формы. Вместе с тем, для оплат с прямым использованием платёжных карт этот набор валют можно ограничивать. В платформе поддерживаются следующие варианты работы:
- Выбор из всех доступных валют.
Этот вариант поддерживается для классических карточных платежей и платежей с использованием методов Apple Pay и Google Pay.
- Выбор из валют, релевантных для страны выпуска указанной карты (исходя из её номера), либо, при их недоступности, выбор из всех остальных доступных валют.
Так, при указании пользователем номера карты, выпущенной в Бразилии, и поддержке бразильского реала в качестве операционной валюты для используемого проекта, в числе доступных для выбора могут отображаться исходная валюта запроса и бразильский реал.
Этот вариант поддерживается только для классических карточных платежей, и при его использовании список доступных валют отображается пользователю только после указания номера карты.
- Выбор из валют, релевантных для страны выпуска указанной карты (исходя из её номера), либо, при их недоступности, исключение возможности выбора и использование исходной валюты запроса.
Так, при указании пользователем номера карты, выпущенной в Бразилии, и отсутствии поддержки бразильского реала в качестве операционной валюты для используемого проекта, в числе доступных для выбора может отображаться только указанная в исходном запросе валюта.
Этот вариант поддерживается только для классических карточных платежей, и при его использовании список доступных валют отображается пользователю только после указания номера карты.
Со стороны веб-сервиса для каждого рабочего проекта может быть согласован своей перечень доступных валют и один из вариантов ограничения доступности этих валют для карточных платежей. В результате перечень доступных валют может адаптироваться под специфику конкретного проекта, платёжного метода и платёжного инструмента.
- Выбор из всех доступных валют.
- Валютами баланса могут выступать доллары, евро и фунты стерлингов.
Если пользователи выбирают для оплат доллары США, евро или фунты стерлингов (и при этом настроены соответствующие балансы и оплаты проводятся в выбранных валютах), средства зачисляются на балансы в этих же валютах. В остальных случаях зачисления выполняются в долларах США.
- Для конвертации используются валютные курсы, устанавливаемые ecommpay.
Эти курсы динамически определяются на стороне ecommpay в соответствии с рыночной информацией от специализированных партнёрских сервисов. Для контроля фактически применённых курсов можно использовать различные интерфейсы платёжной платформы (подробнее). Также с вопросами о курсах и порядке их применения можно обращаться к курирующему менеджеру ecommpay.
Схема работы
После подключения этой функциональности для проведения платежей с выбором валюты пользователем со стороны веб-сервиса не требуется никаких дополнительных действий (по отношению к основным действиям, связанным с проведением платежей соответствующего типа). Так, схема проведения оплаты в одну стадию с выбором пользователем валюты выглядит следующим образом.
- От Payment Page к платёжной платформе направляется запрос на получение необходимой для конвертации информации (о доступных валютах и курсах обмена).
- На стороне платёжной платформы выполняется обработка запроса.
- От платёжной платформы к Payment Page передаётся необходимая для конвертации информация.
- В платёжной форме Payment Page отображается список доступных валют.
- Пользователь выбирает валюту и указывает необходимые сведения.
- От Payment Page к платёжной платформе направляется запрос на оплату с учётом валюты, выбранной пользователем.
В случаях, когда валюта, выбранная пользователем, отличается от исходно указанной в запросе, в оповещениях о результатах платежей может передаваться (когда это настроено) объект sum_customer
со следующими параметрами:с информацией о сумме и валюте платежа, выбранных пользователем, в параметрах amount и currency.
amount— сумма операции в дробных единицах пользовательской валюты;currency— буквенный код пользовательской валюты в формате ISO-4217 alpha-3.
Эта информация дополняет базовые сведения о суммах и валютах, которые передаются в объекте operation:
sum_initial— сумма и валюта, указанные в исходном запросе;sum_converted— сумма и валюта, фактически использованные для выполнения операции.
В следующем примере в оповещении содержится информация о том, что при проведении оплаты в размере 10,00 USD в качестве пользовательской была выбрана валюта BRL, в результате чего была выполнена конвертация в 57,60 BRL и сумма, фактически оплаченная пользователем, составила 57,60 BRL.
{
"payment":{
"method":"card",
"sum":{
"amount":1000, // сумма платежа в запрошенной операционной валюте
"currency":"USD" // код запрошенной операционной валюты
},
"id":"11006",
"type":"purchase",
"status":"success",
"date":"2022-06-23T13:32:09+0000",
"description":""
},
"customer":{
"id":"12"
},
"sum_customer":{
"amount":5760, // сумма в пользовательской валюте
"currency":"BRL" // код пользовательской валюты
},
"account":{
"number":"541333******0019"
},
"project_id":42,
"operation":{
"created_date":"2022-06-23T13:32:02+0000",
"request_id":"a23962a836e8e4-db4f1981d9-0006",
"sum_initial":{
"amount":1000, // сумма операции в запрошенной операционной валюте
"currency":"USD" // код запрошенной операционной валюты
},
"sum_converted":{
"amount":5760, // сумма операции в фактической операционной валюте
"currency":"BRL" // код фактической операционной валюты
},
"code":"0",
"message":"Success",
"eci":"05",
"provider":{
"id":6,
"payment_id":"1629803",
"auth_code":"563253",
"endpoint_id":6,
"date":"2022-06-23T10:32:09+0000"
},
"id":682400942,
"type":"sale",
"status":"success",
"date":"2022-06-23T13:32:09+0000"
},
"signature":"BsGd0vcBQjd+aFl8ehEPRjf/eQUABow+VO+/xSG+lqKo6xHQ=="
}
Подключение
Чтобы подключить возможность проведения платежей с выбором валют в платёжной форме, со стороны мерчанта необходимо:
- Согласовать с курирующим менеджером ecommpay подключение этой функциональности и ключевые аспекты её настройки и запуска., включая:
- проекты, методы и валюты, для которых актуальна эта функциональность;
- необходимость динамической фильтрации доступных для выбора валют исходя из информации о странах выпуска используемых платёжных карт;
- необходимость тестирования перед запуском в работу.
- Если была согласована необходимость тестирования, получить от специалистов ecommpay уведомление о готовности к тестированию, проверить работу платёжной формы с использованием этой возможности и сообщить о готовности к запуску.
- Получить от специалистов ecommpay уведомление о подключении возможности.