Выбор валюты пользователем

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

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

При работе с Payment Page можно предоставлять пользователям выбор валют непосредственно в платёжной форме.

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

Такая функциональностьВыбор валюты в платёжной форме поддерживается, прежде всего, для наиболее популярных методов с глобальным покрытием — классических карточных платежей и платежей с использованием методов Apple Pay и Google Pay. С вопросами о подключении, настройке и использовании этой функциональности, как и с предложениями о её развитии, можно обращаться к курирующему менеджеру ecommpay.

Особенности и ограничения

При подключении и использовании выбора валют в платёжной форме стоит учитывать следующие особенности и ограничения:

  • Методы с возможностью выбора валют должны быть доступны к прямому выбору в платёжной форме.

    В частности, в отношении методов Apple Pay и Google Pay это значит, что кнопки выбора этих методов должны располагаться в Payment Page непосредственно на странице выбора метода, а не на панели указания данных карты (когда они выступают в интерфейсе как дополнительные варианты к оплате с прямым использованием карты и не могут быть выбраны независимо от классических карточных платежей). Когда это условие соблюдается, метод может быть выбран предварительно, через указание его кода в запросе, или непосредственно на форме пользователем, а после выбора метода обеспечивается возможность выбора валюты. Иначе выбор валюты для таких методов становится недоступным.

  • Валюта может выбираться только из доступных пользователю, и доступностью валют можно управлять.

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

    • Выбор из всех доступных валют.

      Этот вариант поддерживается для классических карточных платежей и платежей с использованием методов Apple Pay и Google Pay.

    • Выбор из валют, релевантных для страны выпуска указанной карты (исходя из её номера), либо, при их недоступности, выбор из всех остальных доступных валют.

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

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

    • Выбор из валют, релевантных для страны выпуска указанной карты (исходя из её номера), либо, при их недоступности, исключение возможности выбора и использование исходной валюты запроса.

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

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

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

  • Валютами баланса могут выступать доллары, евро и фунты стерлингов.

    Если пользователи выбирают для оплат доллары США, евро или фунты стерлингов (и при этом настроены соответствующие балансы и оплаты проводятся в выбранных валютах), средства зачисляются на балансы в этих же валютах. В остальных случаях зачисления выполняются в долларах США.

  • Для конвертации используются валютные курсы, устанавливаемые ecommpay.

    Эти курсы динамически определяются на стороне ecommpay в соответствии с рыночной информацией от специализированных партнёрских сервисов. Для контроля фактически применённых курсов можно использовать различные интерфейсы платёжной платформы (подробнее). Также с вопросами о курсах и порядке их применения можно обращаться к курирующему менеджеру ecommpay.

Схема работы

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



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

Рис. 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=="
}

Подключение

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

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