ПОДКЛЮЧАЕТСЯ ПО ЗАПРОСУ
Трансграничные переводы¶
Методы принимают рублёвые платежи клиентов из России на банковские карты в
другой стране. Для мерчанта это обычная заявка в рублях: сумма, курс и расчёты
с EasyTokenPay — в RUB, как у C2C и SBP. Клиент переводит рубли из своего
банка на карту, банк отправителя сам конвертирует их в валюту карты.
| Метод | Направление | Карты | Валюта зачисления | Статус |
|---|---|---|---|---|
R_UZS |
RUB → Узбекистан | Humo, Uzcard | UZS (сумы) | Подключается по запросу |
R_TJS |
RUB → Таджикистан | Карты таджикских банков | TJS (сомони) | Готовится к запуску |
Доступность метода
Методы подключаются по запросу. Доступность проверяйте через
/currencies/?operation=order: у RUB в payment_methods должен быть нужный
метод. Метода нет в списке — запрос с ним отклоняется ответом 400. Метод
есть, но под вас ещё не выделены карты — заявка получит 404, как при
отсутствии реквизита.
Как проходит платёж¶
- Мерчант создаёт заявку в RUB с
requisite_type=R_UZSилиR_TJS. - Платформа выдаёт карту трейдера в нужной стране и фиксирует в заявке справочный курс RUB → валюта карты, ожидаемую сумму зачисления и допустимый диапазон этой суммы.
- Мерчант показывает клиенту номер карты и сумму в рублях. Ожидаемую сумму в валюте карты можно показать справочно.
- Клиент переводит рубли. Зачисление на карту приходит в валюте карты по курсу банка отправителя, поэтому точная сумма заранее неизвестна.
- Если зачисление попало в диапазон, заявка подтверждается автоматически на
исходную сумму в рублях — статус
AUTO_APPROVED. - Если сумма вне диапазона, решение по заявке принимает трейдер вручную. Итог приходит обычным статусом заявки и 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.