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

Метод для проведения списания после успешной предавторизации


Введение

Метод позволяет осуществить 2-ую стадию оплаты (capture) и списать блокированные ранее (preAuth) средства, со счета клиента.

  • loyaltyAmount должен быть целым числом
  • если loyaltyAmount не целое или меньше 0
    •  возвращаем ошибку 00299998
  • если параметр amount передан и amount<1.00
    • возвращаем ошибку 00200040
  • Если оба параметры amount и loyaltyAmount не переданы, будет списана вся сумма холдированных ранее средств

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

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

POST
Endpoint: https://sandbox.pay.mts.ru/private/v1/payments/{id}/capture 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

Тело запроса

Поле

Тип

Обяз.

Описание

amountamountусловноСумма, которую необходимо списать из числа холдированных средств на счете.
Обязателен, если заполнен loyaltyAmount.(минимальное значение 1.00)
loyaltyAmountintнетСумма, которую необходимо списать из числа холдированных средств на счете.
receiptId

int64

нет

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

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

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

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

Тело ответа

Поле

Тип

Обяз.

Описание

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

processingData 

object

нет

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

Описание структуры processingData

Поле

Тип

Обяз.

Описание

rrn

string

нет

RRN Банка

Описание структуры result

Поле

Тип

Обяз.

Описание

statusstatusEnumда

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

  • inProgress - в процессе исполнения
  • authorized - выполнено холдирование средств
  • executed - выполнен

Примеры

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

POST https://sandbox.pay.mts.ru/private/v1/payments/10234/capture HTTP/1.1
Host:
Content-Type: application/json
Request-Id: 599e4b42-e7ef-4e1b-80fb-cc59119c0dce

Тело запроса

{
  "amount": 110.1
  "loyaltyAmount" : 10
}

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

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

Тело ответа

{
  "result": {
    "status": "executed"
  },
  "processingData": {
    "rrn": "string"
  }
}

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

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

code

message

userMessage

isFatal

00299998Validation errorНе пройдена валидация данныхнет
00299999An unexpected error has occurredНепредвиденная ошибкада
01000002Inactive merchantМерчант не активныйда
02000003Invalid operation for current payment status: Current status: {0}Платеж в статусе над которым данная операция запрещенада
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]Ваш банк отклонил платёжнет
02006518Pay2Me: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Оплата по выбранной карте недоступнанет
02006525Pay2Me: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Платёж отклонён системой безопасностинет
02006560Pay2Me: potential fraud or safety restriction. extSystemErrorCode: [errorCode]Ваш банк отклонил платеж. Ограничения на карте.нет