В главное меню

Метод для отмены холдирования средств


Введение

Метод позволяет отменить блокированные ранее (preAuth) средства на счете клиента.

  • loyaltyAmount должен быть целым числом
    • если loyaltyAmount не целое или меньше 0, то возвращаем ошибку 00299998
  • amount должен или отсутствовать или больше 0
    • если Amount  <=0, то возвращаем ошибку 00299998

Ограничения:

  • Если параметры amount и loyaltyAmount не переданы, будет отменена вся сумма холдированных ранее средств.
  • Отменить можно только целое число бонусов.
  • Если в одной операции захолдированы и деньги и бонусы, то при "ручной" отмене денег можно или отменить все захолдированные средства(включая бонусы) или сумму, при которой остаток захолдированных денег не будет меньше 2 рублей, т.к. выполнить запрос payments/{id}/capture без списания amount нельзя

Входные параметры

Заголовок запроса

POST
Endpoint:  https://sandbox.pay.mts.ru/private/v1/payments/{id}/cancel HTTP/1.1
Content-Type: application/json
<Основные параметры>

Поле

Тип

Обязат.

Описание

idint64даИдентификатор платежа

Основные параметры

Поле

Тип

Обяз.

Описание

Request-IdguidдаИдентификатор конкретного запроса

Requestor-Name

string

нет

Наименование сервиса.

  • Для веба - домен, на котором запущен виджет.
  • Для SDK - идентификатор приложения.
  • Для API - имя вызывающей системы.
Requestor-Typestringнет

Тип витрины.

  • API
  • Web Widget
  • Web Page
  • SDK Apple
  • SDK Android
Requestor-VersionstringнетВерсия виджета/sdk

Тело запроса

Поле

Тип

Обязат.

Описание

amount

amountнет

Сумма, которую необходимо расхолдировать на счете

loyaltyAmount

int(целое число)нет

Сумма, которую необходимо расхолдировать  на счете.

receiptId

int64

нет

id операции фискализации

Выходные параметры

Заголовок ответа

Content-Type: application/json; charset=utf-8
http-code: 200
http-status: OK

Тело ответа

Поле

Тип

Обяз.

Описание

id

int64

нет

Идентификатор возврата

processingData

object

нет

Дополнительная информация об операции

resultobjectнетДетали проведения оплаты

Структура result

Поле

Тип

Обяз.

Описание

rrn

string

нет

RRN Банка

Структура result

Поле

Тип

Обяз.

Описание

statusstatusEnumда

Статус платежа 

  • inProgress - в процессе исполнения
  • executed - выполнен

Примеры

Заголовок запроса

POST https://sandbox.pay.mts.ru/private/v1/payments/10234/cancel HTTP/1.1
Host:
Content-Type: application/json
<Основные параметры> (пример в описании)

Тело запроса

{
  "amount": 3
}

Заголовок ответа

Content-Type: application/json; charset=utf-8
http-code: 200
http-status: OK

Тело ответа

{
  "id": 177898,
  "result": {
    "status": "inProgress"
  }
}
{
  "id": 0,
  "result": {
    "status": "executed"
  },
  "processingData": {
    "rrn": "string"
  }
}

Возможные коды ошибок

Коды и описание представлено в таблице:

code

message

User message

isFatal

00299998Validation errorНе пройдена валидация данныхнет
00299999An unexpected error has occurredНепредвиденная ошибкада
02000001This method is not supported for this payment tool. Payment tool: {paymentToolType}Данный метод не поддерживается для этого способа оплаты. Способ оплаты: {paymentToolType}да
02000004Payment {0} not found from merchant {1}Платеж не найденда
02006500Pay2Me: Not identified errorНепредвиденная ошибканет
02006501Pay2Me: service unavailableСервис временно недоступен. Попробуйте повторить позже.нет
02006502Pay2Me: system cannot process the payment. extSystemErrorCode: [errorCode]Операция не выполнена. Выберите другой способ оплаты или обратитесь в службу поддержки.нет
02006503Pay2Me: An unexpected error has occurredНепредвиденная ошибкада
02006517Pay2Me: general error. extSystemErrorCode: [errorCode]Ваш банк отклонил операциюнет
02006525Pay2Me: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Операция отклонёна системой безопасностинет
02006560Pay2Me: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Ваш банк отклонил операцию. Ограничения на карте.нет