Перейти к содержанию

ПОДКЛЮЧАЕТСЯ ПО ЗАПРОСУ

Трансграничные переводы

Методы принимают рублёвые платежи клиентов из России на банковские карты в другой стране. Для мерчанта это обычная заявка в рублях: сумма, курс и расчёты с EasyTokenPay — в RUB, как у C2C и SBP. Клиент переводит рубли из своего банка на карту, банк отправителя сам конвертирует их в валюту карты.

Метод Направление Карты Валюта зачисления Статус
R_UZS RUB → Узбекистан Humo, Uzcard UZS (сумы) Подключается по запросу
R_TJS RUB → Таджикистан Карты таджикских банков TJS (сомони) Готовится к запуску

Доступность метода

Методы подключаются по запросу. Доступность проверяйте через /currencies/?operation=order: у RUB в payment_methods должен быть нужный метод. Метода нет в списке — запрос с ним отклоняется ответом 400. Метод есть, но под вас ещё не выделены карты — заявка получит 404, как при отсутствии реквизита.

Как проходит платёж

  1. Мерчант создаёт заявку в RUB с requisite_type=R_UZS или R_TJS.
  2. Платформа выдаёт карту трейдера в нужной стране и фиксирует в заявке справочный курс RUB → валюта карты, ожидаемую сумму зачисления и допустимый диапазон этой суммы.
  3. Мерчант показывает клиенту номер карты и сумму в рублях. Ожидаемую сумму в валюте карты можно показать справочно.
  4. Клиент переводит рубли. Зачисление на карту приходит в валюте карты по курсу банка отправителя, поэтому точная сумма заранее неизвестна.
  5. Если зачисление попало в диапазон, заявка подтверждается автоматически на исходную сумму в рублях — статус AUTO_APPROVED.
  6. Если сумма вне диапазона, решение по заявке принимает трейдер вручную. Итог приходит обычным статусом заявки и callback.

Создать заявку

POST /api/v1/merchant/create_order/?type=api
Authorization: Bearer <access_token>
Content-Type: application/json

{
  "merchant_order_id": "payment-20261012-001",
  "merchant_client_id": "client-1042",
  "currency_code_from": "USDT",
  "currency_code_to": "RUB",
  "expected_income": "10000",
  "requisite_type": "R_UZS"
}

Поля те же, что у обычной заявки. Отличия:

Поле Значение
currency_code_to Только RUB. С другой валютой ответ 400 «Способ оплаты недоступен для выбранной валюты.»
requisite_type R_UZS или R_TJS
expected_income Сумма в рублях, которую переводит клиент

Ответ

Ответ содержит всё, что и ответ обычной заявки, плюс пять полей метода. Пример для R_UZS:

{
  "id": "5d0c6a2e-8f1b-4c3a-9e7d-2b6f1a9c4e10",
  "status": "BRAND_NEW",
  "merchant_order_id": "payment-20261012-001",
  "currency_code_from": "USDT",
  "currency_code_to": "RUB",
  "expected_income": "10000.000000",
  "requisite": {
    "account_number": "9860 1234 5678 9012",
    "fio": "CARD HOLDER",
    "bank": {"name": "BANK_A"},
    "payment_type": ["R_UZS"]
  },
  "course": 81.5,
  "foreign_currency_code": "UZS",
  "reference_rate": "140.100000",
  "expected_income_foreign": "1401000.000000",
  "foreign_lower": "1358970.000000",
  "foreign_upper": "1443030.000000"
}

Для R_TJS поля те же, валюта карты — TJS, например: "foreign_currency_code": "TJS", "reference_rate": "0.117200", "expected_income_foreign": "1172.000000", диапазон 1136.840000 – 1207.160000.

Поле Значение
foreign_currency_code Валюта карты: UZS или TJS
reference_rate Справочный курс: единиц валюты карты за 1 рубль на момент создания заявки
expected_income_foreign Ожидаемое зачисление в валюте карты: expected_income × reference_rate
foreign_lower, foreign_upper Диапазон зачисления в валюте карты, при котором заявка подтверждается автоматически

Курс и диапазон фиксируются при создании и не пересчитываются. Ширину диапазона задаёт платформа. Числа в примерах условные.

После подтверждения

В статусе заявки и в списке GET /api/v1/orders/ у такой заявки появляются ещё два поля:

Поле Значение
received_income_foreign Фактически зачислено на карту, в валюте карты
received_deviation_percent Отклонение зачисления от ожидаемой суммы, %

У обычных заявок все поля методов равны null.

Расчёт с мерчантом идёт по рублёвой сумме заявки и рублёвому курсу, как по C2C. Фактическое зачисление в валюте карты на расчёт не влияет.

Callback

Callback по такой заявке такой же, как по обычной: order_uuid, status, real_income в рублях, currency = RUB, подпись. Полей в валюте карты в callback нет — запросите статус заявки, если они нужны. Формат и проверка подписи — в разделе Статусы и callback.

Ответы создания

HTTP Значение Действие
200 Заявка создана, карта выдана Показать клиенту карту и сумму в рублях
400 Метод не подключён, валюта не RUB или нет актуального справочного курса («Не удалось получить актуальный курс валюты.») Не показывать оплату; при ошибке курса повторить позже
404 Свободной карты на эту сумму сейчас нет; в ответе UUID заявки в статусе REQUISITES_NOT_FOUND Не показывать оплату, сохранить UUID для сверки

Ограничения

  • Только пополнения. Выплаты этими методами не поддерживаются.
  • Только из рублей: RUB → UZS и RUB → TJS.
  • Клиент должен перевести ровно указанную сумму в рублях. Комиссии и курс своего банка он видит сам. Если банк зачислит сумму вне диапазона, автоматического подтверждения не будет, заявку проверит трейдер.
  • На одной карте одновременно открыта только одна такая заявка. Поэтому свободных карт под эти методы может быть меньше, чем под C2C.