Интеграция с API выплат Mandarin предполагает два этапа:
Корректная реализация этих этапов критически важна для исключения задвоений, потерь данных и ошибок при выплатах.
Если ваш запрос прошёл успешно, в ответ вы получите HTTP 200 и поле id (это и есть transactionId). Пример:
{
"id": "43913ddc000c4d3990fddbd3980c1725"
}
Если в ответе возник таймаут или вернулся код отличный от 200 (например, 502, 504), вы обязаны повторить запрос с тем же значением orderId.
Это безопасно: если операция уже была получена и создана ранее, вы получите ошибку Duplicate order id.
Пример ответа на повторный запрос:
{
"error": "Duplicate order id 5f2fdcf6-0b78-4dd7-be9f-212c7c058001 found for incomplete payout transaction",
"errorCode": -2
}
Такой ответ говорит о том, что операция уже была создана и находится в обработке — повторной выплаты не произойдёт.
Важно: orderId должен быть уникальным в пределах всех успешных операций. Это ключевой параметр, по которому ведётся идентификация операции.
Если вы не получили id, либо не уверены, был ли успешно создан запрос, проверьте это через сервис мониторинга:
https://secure.mandarinpay.com/admin/heartbeat/transactions
Там доступен поиск по orderId. Если операция найдена — значит, мы получили ваш запрос, и он обрабатывается. Если не найдена — повторите запрос.