Передача контрактов и сверка
Передача контрактов и сверка: Интеграция с Agent Java SDK v0.3.0, примеры, параметры и семантика ответа.
Это руководство предназначено для Agent Java SDK v0.3.0, Java 8+ и помеченного публичного контракта. Примеры выполняются в серверной части партнера после инициализации client в Быстрый старт.
Пример предварительных условий
Фрагменты Java разделяют этот импорт. Инициализируйте client с помощью быстрого запуска и получите platformUserId из сохраненной привязки. Примеры идентификаторов пользователей/заказов необходимо заменить вашими собственными сохраненными значениями.
Перевод фиксированной суммы
Используйте transfer для переводов фиксированной суммы. Direction.IN означает передачу
с партнерской платформы на 6MM. Direction.OUT означает перенос с 6MM
вернуться на партнерскую платформу.
Используйте строки или BigDecimal для сумм. Не используйте double или float.
Перенос через agentUserId
Перенос через platformUserId
Укажите оба идентификатора
Если указаны оба идентификатора, служба проверяет, что они указывают на один и тот же идентификатор. привязанный пользователь.
Поля запроса:
Поля ответа:
Подтверждение заказа и идемпотентность
После вызова transfer служба агента синхронно вызывает торговую
ядро на главном пути. В большинстве случаев ответ API уже содержит
синхронный результат торгового ядра.
Требования идемпотентности:
- Используйте один
agentOrderNoдля одной бизнес-операции. - Если время ожидания HTTP истекло или произошел сбой в сети, сначала запросите тот же
agentOrderNo. - Webhooks можно повторить. Дедублируйте их с помощью ключа идемпотентности.
Перенести все
transferAllOut перемещает доступный для вывода баланс пользователя на стороне 6MM обратно на
партнерская платформа.
От platformUserId:
В ответе amount — фактическая сумма перевода.
Обратный порядок
Реверс используется для компенсации успешного заказа на передачу, когда серверная часть поддерживает обратный поток. Типичные случаи включают исключения для местных заказов партнеров. или ручной откат сверки.
Поля:
Примечания:
- Реверс не является обычной операцией отмены.
- Обратные заказы также должны быть идемпотентны по номеру заказа.
- После того, как первоначальный ордер будет отменен, webhook может переместить исходный ордер
REVERSEDконечное состояние.
Порядок запроса
Поддерживаемые значения orderType:
TRANSFER_INTRANSFER_OUT
Общие поля ответа:
Список заказов
Рекомендации по пагинации:
pageначинается с 1.- Оставьте
pageSizeна уровне 100 или ниже. - Для заданий сверки постраничное выполнение и дедупликация с помощью
orderNo.
Источник и связанные руководства
- Официальный источник v0.3.0
- Обзор запроса и нумерация страниц
- Финансирование кошелька
- Руководство по обновлению
Обратные вызовы событий фондов
transfer.completed может содержать SUCCESS, FAILED или исходное обновление заказа REVERSED; reverse.completed — терминальное событие разворота ордера. transfer.dead означает, что окончательное состояние остается неподтвержденным после повторных попыток и требует ручной сверки, а не подтвержденного сбоя. Само по себе название мероприятия не доказывает, что средства были зачислены.
Успешное подтверждение отличается от успешного перемещения средств: после записи действительного уведомления targetStatus=FAILED необходимо также вернуть HTTP 2xx. Сохранять дедупликацию событий средств с помощью orderType:orderId:targetStatus внутри продавца и области действия environment.
Поля событий и примеры JSON · Проверка подписи, ответы и повторные попытки