Конвертация валют
Общая информация
При проведении платежа в общем случае могут задействоваться три валюты: валюта счета пользователя, валюта платежа и валюта счета мерчанта. Если все эти валюты одинаковы, то конвертация, то есть пересчет суммы из одной валюты в другую, не требуется, тогда как в иных ситуациях она необходима.
Допустим, пользователь выбирает рублевую карту для перевода средств в евро на счет мерчанта, открытый в фунтах стерлингов. В таком случае сумма платежа последовательно конвертируется из рублей в евро и из евро в фунты. Конвертация для первой пары валют выполняется на стороне эмитента (и не контролируется со стороны Rocketpay), а конвертация для второй пары — между валютами платежа и счета мерчанта — выполняется на стороне платежной платформы Rocketpay.
Мерчант также может проводить конвертацию на своей стороне и в запросах на проведение операций отправлять сразу сконвертированную сумму в нужной валюте.
- Конвертация с выбором валюты мерчантом — без предоставления пользователю возможности выбора валюты платежа, по курсу выбранного источника. Этот вариант поддерживается по умолчанию для любых платежных методов и валют.
- Конвертация с выбором валюты пользователем — с предоставлением пользователю возможности выбора валюты платежа, по курсу партнера Rocketpay. Этот вариант поддерживается только для оплат с использованием платежных карт и подключается при обращении к курирующему менеджеру Rocketpay.
Информацию о конвертации, выполненной на стороне платежной платформы, можно получать в оповещениях о результатах платежей, в интерфейсе Dashboard и в регулярных отчетах, отправляемых на заданные адреса электронной почты. Эту информацию рекомендуется учитывать при сверках с Rocketpay, потому что учет операций по счету мерчанта со стороны эмитента, как правило, ведется в валюте этого счета.
Также следует учитывать, что сумма операции и сумма, фактически списанная со счета пользователя, могут не совпадать, так как на дату инициирования платежа и дату фактического списания средств курсы валют, как правило, отличаются. По вопросам конвертации и компенсации в таких случаях пользователю следует обращаться к эмитенту карты или организации, где открыт счет.
Далее представлена подробная информация о вариантах конвертации, поддерживаемых на стороне платежной платформы.
Конвертация с выбором валюты мерчантом
Общая информация
Конвертация с выбором валюты мерчантом выполняется без предоставления пользователю возможности выбрать валюту платежа. Для этой конвертации используются валютные курсы одного из следующих источников:
Курсы валют перечисленных банков обновляются один раз в день.
Для каждого проекта используется один базовый источник курсов валют и дополнительные — на случаи, когда необходимый курс не предоставляется со стороны базового источника. Базовый источник выбирается на стороне Rocketpay.
Подключение
Для подключения этого варианта конвертации на стороне веб-сервиса выполнять какие-либо действия не требуется.
Использование
Для использования этого варианта конвертации со стороны веб-сервиса не требуется действий, отличных от стандартных при проведении оплаты.
Информация о выполненной конвертации передается в оповещениях о результатах платежей — в объекте operation, где в объекте sum_initial указываются исходные сумма и валюта, а в объекте sum_converted — конечные сумма и валюта с учетом конвертации. Эти объекты входят в стандартную структуру оповещения, описание которой представлено в разделе Оповещения (callbacks) в Payment Page.
В следующем примере в оповещении содержится информация о том, что при проведении оплаты в размере 100 USD выполнена конвертация в 519,41 PHP.
Рис.: Пример данных из оповещения о результатах оплаты с конвертацией
{
"project_id":42,
"payment":{
"id":"15dd47055381e8375e7b2d0cb16f",
"type":"purchase",
"status":"success",
"date":"2019-09-17T11:50:29+0000",
"sum":{
"amount":10000, // Сумма, переданная в запросе
"currency":"USD" // Код исходной валюты, переданный в запросе
},
"description":""
},
"operation":{
"id":200004157,
"type":"sale",
"status":"success",
"date":"2019-09-17T11:50:29+0000",
"created_date":"2019-09-16T13:17:31+0000",
"request_id":"622d6f7f9e6bce298676b38e45",
"sum_initial":{
"amount":10000, // Сумма, переданная в запросе
"currency":"USD" // Код исходной валюты, переданный в запросе
},
"sum_converted":{
"amount":519410, // Сумма с учетом конвертации
"currency":"PHP" // Код конечной валюты
},
"provider":{
"id":1165,
"payment_id":"DY3TU78",
"date":"2019-09-16T21:17:39+0000",
"auth_code":"",
"endpoint_id":"BPI"
},
"code":"0",
"message":"Success"
},
"signature":"MJv7KNMpfogAxwRIL9tVftZ1ZZ5D/aZAeb0VMdeR+CqGrNxYyilUwSm...=="
}
Конвертация с выбором валюты пользователем
Общая информация
При оплатах через Payment Page поддерживается возможность выбора валюты платежа пользователем. К валютам, доступным для такого выбора, относятся евро (EUR), доллары США (USD), фунты стерлингов (GBP) и российские рубли (RUB). При этом для каждого проекта настраивается свой перечень, который может включать в себя как все перечисленные валюты, так и часть из них.
Перечень валют для выбора пользователем отображается на Payment Page, только если в запросе на оплату передан код одной из валют, входящих в этот перечень. В таком случае сумма платежа отображается в валюте, указанной в запросе. Например, если в запросе указана валюта USD, то в качестве исходной валюты платежа выбирается доллар США и сумма выводится в долларах.
Пользователь может подтвердить оплату в исходной валюте или выбрать другую. При выборе другой валюты на платежной форме отображается информация о курсе обмена, а также сумма с учетом конвертации в выбранную валюту. И эта информация обновляется каждые пять минут.
Например, при оплате в размере 95,00 USD и выборе пользователем валюты евро, в платежной форме отображается курс евро к доллару США и сумма в евро — допустим, 87,26 EUR.
При завершении оплаты пользователю отображается информация о сумме в исходной валюте, сумме в валюте, выбранной пользователем, и о курсе конвертации. Так, для приведенного примера с оплатой в размере 95,00 USD актуальна следующая информация:
- сумма оплаты в выбранной пользователем валюте —
87,26 EUR; - сумма оплаты в исходной валюте —
95,00 USD; - курс евро к доллару США.
Эта же информация отображается на платежной форме и при отклонении оплаты с конвертацией.
Подключение
Для получения более подробной информации о возможности использования этого варианта конвертации, а также для его подключения и для выбора доступных валют следует обращаться к курирующему менеджеру Rocketpay.
Использование
Для использования этого варианта конвертации на стороне веб-сервиса не требуется действий, отличных от стандартных при проведении оплаты. Схема выполнения этого варианта конвертации в контексте оплаты в одну стадию представлена далее.
Рис.: Схема выполнения конвертации с выбором валюты пользователем
- От Payment Page к платежной платформе направляется запрос на получение информации о доступных валютах, а также об актуальных курсах и суммах с учетом этих курсов.
- На стороне платежной платформы выполняется обработка запроса.
- От платежной платформы к Payment Page передается информация о доступных валютах, актуальных курсах и суммах с учетом этих курсов.
- На Payment Page отображаются поля для ввода реквизитов платежной карты, список доступных валют и информация о конвертации (курс и конечная сумма в выбранной валюте).
- Пользователь выбирает валюту и указывает реквизиты платежной карты.
- От Payment Page к платежной платформе направляется запрос на оплату с учетом валюты, выбранной пользователем.
Информация о выполненной конвертации передается в оповещениях о результатах платежей — в объекте operation, где в объекте sum_initial указываются исходные сумма и валюта, а в объекте sum_coverted — конечные сумма и валюта с учетом конвертации. Эти объекты входят в стандартную структуру оповещения, описание которой представлено в разделе Оповещения (callbacks) в Payment Page.
Также, при необходимости, в объекте mcs может передаваться информация о курсе конвертации:
currency_pair— коды валют, составляющих валютную пару, без каких-либо разделяющих символов: косой черты, двоеточия, пробела или чего-то другого (например,EURUSD);rate— курс конвертации для указанной пары (например,1.08876).
Чтобы получать эту информацию в оповещениях, необходимо обратиться в службу технической поддержки — support@rocketpay.kz.
В следующем примере в оповещении содержится информация о том, что при проведении оплаты в размере 95 USD выполнена конвертация в 87,26 EUR по курсу 1.08876 евро к доллару.
Рис.: Пример данных из оповещения о результатах оплаты с конвертацией
{
"project_id":42,
"payment":{
"id":"10005",
"type":"purchase",
"status":"success",
"date":"2019-10-16T11:52:51+0000",
"method":"card",
"sum":{
"amount":9500, // Сумма, переданная в запросе
"currency":"USD" // Код исходной валюты, переданный в запросе
},
"description":""
},
"account":{
"number":"555555******4443",
"type":"mastercard",
"card_holder":"JUDY DOE",
"expiry_month":"03",
"expiry_year":"2024"
},
"customer":{
"id":"12"
},
"operation":{
"id":26900008841,
"type":"sale",
"status":"success",
"date":"2019-10-16T11:52:51+0000",
"created_date":"2019-10-16T11:52:40+0000",
"request_id":"9e713d016844bf349ea4e26938",
"sum_initial":{
"amount":9500, // Сумма, переданная в запросе
"currency":"USD" // Код исходной валюты, переданный в запросе
},
"sum_converted":{
"amount":8726, // Сумма с учетом конвертации
"currency":"EUR" // Код конечной валюты, выбранный пользователем
},
"mcs":{
"currency_pair": "EURUSD", // Коды валют, составляющих валютную пару
"rate":"1.08876" // Курс евро к доллару США
},
"code":"0",
"message":"Success",
"eci":"02",
"provider":{
"id":11,
"payment_id":"50313",
"auth_code":"",
"endpoint_id":11,
"date":"2019-10-16T11:52:50+0000"
}
},
"signature":"MJv7KNMpfogAxwRIL9tVftZ1ZZ5D/aZAeb0VMdeR+CqGrNxYyilUwSm...=="
}