Конвертация с выбором валюты пользователем

Общая информация

Конвертация с выбором валюты пользователем поддерживается при оплатах с прямым использованием карт и с использованием методов 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.

Подключение

Чтобы подключить возможность конвертации с выбором валюты пользователем, со стороны мерчанта необходимо:

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

Использование

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



Рис. 4. Схема выполнения конвертации с выбором валюты пользователем
  1. От Payment Page к платёжной платформе направляется запрос на получение необходимой для конвертации информации (о доступных валютах и курсах обмена).
  2. На стороне платёжной платформы выполняется обработка запроса.
  3. От платёжной платформы к Payment Page передаётся необходимая для конвертации информация.
  4. В платёжной форме Payment Page отображается список доступных валют.
  5. Пользователь выбирает валюту и указывает код проверки подлинности карты.
  6. От Payment Page к платёжной платформе направляется запрос на оплату с учётом валюты, выбранной пользователем.

Информация о выполненной конвертации передаётся в оповещениях о результатах платежей — в объекте operation, где в объекте sum_initial указываются исходные сумма и валюта запроса, а в объекте sum_converted — сумма и валюта с учётом конвертации. Дополнительно в объекте sum_customer оповещений передаётся информация о выборе валюты пользователем:

  • amount — сумма операции в валюте, выбранной пользователем;
  • currency — код валюты, выбранной пользователем.

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

В следующем примере в оповещении содержится информация о том, что при проведении оплаты в размере 10,00 USD пользователем была выбрана валюта BRL, выполнена конвертация в 57,60 BRL и сумма, фактически оплаченная пользователем, составила 57,60 BRL.

Рис. 5. Пример данных из оповещения о результатах оплаты с конвертацией
{
    "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=="
}