Конвертация валют

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

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

Допустим, пользователь выбирает рублевую карту для перевода средств в евро на счет мерчанта, открытый в фунтах стерлингов. В таком случае сумма платежа последовательно конвертируется из рублей в евро и из евро в фунты. Первый из этих пересчетов выполняется на стороне эмитента или альтернативной платежной системы (и не контролируется со стороны Rocketpay), а второй — на стороне платежной платформы Rocketpay.

Мерчант также может проводить конвертацию на своей стороне и в запросах на проведение операций отправлять сразу сконвертированную сумму в нужной валюте.

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

Курсы валют указанных банков обновляются один раз в день.

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

Информацию о конвертации, выполненной на стороне платежной платформы, можно получать в оповещениях о результатах платежей, в Dashboard и в регулярных отчетах, отправляемых на заданные адреса электронной почты. Эту информацию рекомендуется учитывать при сверках с Rocketpay, потому что учет операций по счету мерчанта со стороны эмитента или альтернативной платежной системы, как правило, ведется в валюте этого счета.

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

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

Подключение

Для подключения конвертации на стороне веб-сервиса выполнять какие-либо действия не требуется.

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

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

Информация о выполненной конвертации передается в оповещениях о результатах платежей — в объекте operation, где в объекте sum_initial указываются исходные сумма и валюта, а в объекте sum_converted — конечные сумма и валюта с учетом конвертации. Эти объекты входят в стандартную структуру оповещения, описание которой представлено в разделе Оповещения (callbacks) в Gate.

В следующем примере в оповещении содержится информация о том, что при проведении оплаты в размере 100 USD выполнена конвертация в 519,41 PHP.

Рис.: Пример данных из оповещения о результатах оплаты с конвертацией

{ 
  "project_id":42,
  "payment":{ 
    "id":"15dd47055381e8375e7b2d0cb16f",
    "type":"purchase",
    "status":"success",
    "date":"2019-09-17T11:50:29+0000",
    "method":"dragonpay",
    "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...=="
}