Можно только по ордерам в success или failed. Нужно право orders.write.
Как это работает:
- При создании ордер переходит в
disputed. Вебхукorder.status_changedна этот переход может прийти, а может и нет — ориентируйтесь на ответ. - Пока диспут открыт, ордер остаётся в
disputed, поэтому повторный запрос отвечает400 DISPUTE_NOT_ALLOWED. Найти диспут можно черезGET /disputes?search={orderId}. - Диспут передаётся платёжной стороне; если она его не приняла, API отвечает
502 WALLET_BACKEND_ERROR(или500, если она недоступна), а статус ордера не меняется. - По ордеру в
successплатёжная сторона в ответ может открыть свой диспут: тогда ордер переходит вdisputedс вебхукомorder.status_changed, а в ответе возвращается этот диспут со служебной причинойdispute_created:….
Безопасность
apiKeyAuth
- Мок-серверhttps://b2b-app.lumowallet.io/_mock/apis/orders/{id}/disputes
- https://b2b.lumowallet.iohttps://b2b.lumowallet.io/orders/{id}/disputes
- https://b2b-staging.lumowallet.iohttps://b2b-staging.lumowallet.io/orders/{id}/disputes
curl -i -X POST \
'https://b2b-app.lumowallet.io/_mock/apis/orders/{id}/disputes' \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-d '{
"reason": "string"
}'Диспут создан
One of:
Исход. Заполняется, когда диспут рассмотрен, — смотрите его, а не status, который говорит только, рассмотрен диспут или нет. refund / partial_refund — оплата отменена (ордер → failed), confirm — диспут отклонён, оплата в силе (ордер → success).
string(DisputeResolution)
Enum:"refund""confirm""partial_refund"
Десятичная строка, например "52.63000000". Какая часть ордера отменена: полная сумма ордера при refund, возвращённая часть при partial_refund, null при confirm. Это не сумма, зачисленная на баланс: если средства ещё были заморожены, решение только снимает заморозку. См. GET /wallets/balance-history (referenceId = orderId).
Время решения (администратором или по статусу от платёжной стороны).
Ответ
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "orderId": "b3e1eced-f2bd-4d8c-9765-fbc9d1d222d5", "status": "submitted", "resolution": "refund", "reason": "string", "adminComment": "string", "resolvedBy": "string", "refundAmount": "string", "resolvedAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "order": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "externalOrderId": "string", "status": "created", "amountUsdt": "string", "amountRub": "string", "rate": "string", "nspkBrandName": "string", "createdAt": "2019-08-24T14:15:22Z" } }