Конвертация с выбором валюты пользователем
Общая информация
Конвертация с выбором валюты пользователем поддерживается при оплатах с прямым использованием карт и с использованием методов Apple Pay и Google Pay. Для такой конвертации характерны следующие особенности:
-
Валюта выбирается пользователем из числа доступных.
В базовом случае к доступным валютам относятся все валюты, которые поддерживаются в качестве операционных для используемого проекта мерчанта и по которым может выполняться конвертация в рамках конкретного сеанса работы платёжной формы. Для оплат с прямым использованием платёжных карт этот набор можно ограничивать только заданной в запросе валютой и теми валютами, которые считаются актуальными для страны выпуска указанной карты (исходя из её номера). Так, при указании пользователем номера карты, выпущенной в Бразилии, в качестве доступных для выбора могут отображаться исходная валюта запроса и бразильский реал. При этом в случае, если актуальная для карты валюта не может использоваться в качестве операционной, выбор можно исключить вовсе или расширить до базового, с полным перечнем доступных валют. Таким образом, перечень доступных валют каждый раз адаптируется под специфику конкретного проекта, платёжного метода и платёжного инструмента.
-
Средства зачисляются на счёт мерчанта в выбранной пользователем валюте: долларах, евро или фунтах стерлингов.
Если пользователь выбрал для оплаты евро, доллары США или фунты стерлингов и платёж проведён в выбранной валюте, средства зачисляются мерчанту в соответствующей валюте, если выбраны болгарские левы — в евро (для платёжной системы Visa) или долларах (для платёжной системы Mastercard). В остальных случаях средства зачисляются в долларах.
- Для конвертации с выбором валюты пользователем используются валютные курсы, устанавливаемые ecommpay.
Ознакомительную информацию о курсах можно получить через интерфейс Data API. Также с вопросами о курсах и порядке их применения можно обращаться к курирующему менеджеру ecommpay.
- Для платёжных методов Apple Pay и Google Pay выбор валют поддерживается при отображении кнопок выбора этих методов на странице выбора метода.
В случае, если для проекта настроено отображение таких кнопок на странице указания данных карты, выбор валюты пользователем недоступен.
Перечень валют для выбора пользователем отображается на страницах Payment Page в выпадающем списке с кодами этих валют. При этом валюта, указанная в запросе на оплату, отображается предварительной выбранной.
Отображение перечня валют поддерживается для разовых оплат, в том числе при выполнении повторных попыток проведения платежа.
Пользователь может подтвердить оплату в исходной валюте запроса или выбрать другую. При выборе другой валюты в платёжной форме вместо первоначальной суммы платежа отображается сумма с учётом конвертации. Например, при оплате в размере 10,00 USD
и выборе пользователем бразильских реалов в платёжной форме отображается сумма в реалах — допустим, 57,60 BRL
.
Далее на всех страницах платёжной формы, в том числе на странице с информацией о результате оплаты, пользователю отображается информация о сумме в выбранной им валюте. Так, для приведённого примера с оплатой в размере 10,00 USD
отображается сумма оплаты в выбранной пользователем валюте — 57,60 BRL
.
Подключение
Чтобы подключить возможность конвертации с выбором валюты пользователем, со стороны мерчанта необходимо:
- Согласовать с курирующим менеджером ecommpay подключение этой возможности для конкретных проектов, необходимость её тестирования, актуальные наборы платёжных методов и валют, а также необходимость фильтрации валют с учётом стран, определяемых по указанным пользователями номерам карт.
- Если была согласована необходимость тестирования, получить от специалистов ecommpay уведомление о готовности к тестированию, проверить работу платёжной формы с использованием этой возможности и сообщить о готовности к запуску.
- Получить от специалистов ecommpay уведомление о подключении возможности.
Использование
Для использования конвертации с выбором валюты пользователем на стороне веб-сервиса не требуется действий, отличных от типовых при проведении оплаты. Схема выполнения этого варианта конвертации в контексте оплаты в одну стадию с выбором пользователем сохранённых реквизитов платёжной карты выглядит следующим образом.
- От Payment Page к платёжной платформе направляется запрос на получение необходимой для конвертации информации (о доступных валютах и курсах обмена).
- На стороне платёжной платформы выполняется обработка запроса.
- От платёжной платформы к Payment Page передаётся необходимая для конвертации информация.
- В платёжной форме Payment Page отображается список доступных валют.
- Пользователь выбирает валюту и указывает код проверки подлинности карты.
- От Payment Page к платёжной платформе направляется запрос на оплату с учётом валюты, выбранной пользователем.
Информация о выполненной конвертации передаётся в оповещениях о результатах платежей — в объекте operation
, где в объекте sum_initial
указываются исходные сумма и валюта запроса, а в объекте sum_converted
— сумма и валюта с учётом конвертации. Дополнительно в объекте sum_customer
оповещений передаётся информация о выборе валюты пользователем:
amount
— сумма операции в валюте, выбранной пользователем;currency
— код валюты, выбранной пользователем.
Исключением является выбор пользователем валюты, переданной в запросе на проведение платежа: в этом случае информация о выборе валюты не передаётся.
В следующем примере в оповещении содержится информация о том, что при проведении оплаты в размере 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=="
}