8. Отзыв платежа
Описание схемы
| № | R/ O |
Описание | Путь | Комментарий/ Пример |
|---|---|---|---|---|
Общий путь Document.CstmrPmtCxlReq.Assgnmt |
||||
1 |
R |
Уникальный id сообщения |
Id |
Указывается идентификатор сообщения присвоенный во внешней системе. |
1 |
R |
Наименование организации |
Assgnr.Pty.Nm |
- |
2 |
R |
ИНН организации |
Assgnr.Pty.Id.OrgId.Othr.Id |
- |
3 |
R |
Признак использования ИНН |
Assgnr.Pty.Id.OrgId.Othr.SchmeNm.Cd |
Константа 'TXID' |
4 |
O |
Наименование банка получателя |
Assgne.Agt.FinInstnId.Nm |
Константа 'АО АЛЬФА-БАНК' |
5 |
R |
Дата и Время создания сообщения |
CreDtTm |
Формат даты YYYY-MM-DDThh:mm:ss[.mmm]TZD (В случае, если часовой пояс не указан или указан отличный от московского, то время будет приведено к UTC +3). |
Общий путь Document.CstmrPmtCxlReq.Undrlyg.OrgnlPmtInfAndCxl |
||||
6 |
R |
Id исходного пакета платежа |
OrgnlPmtInfId |
Должно совпадать с полем в Платеже: Document.CstmrCdtTrfInitn.PmtInf.PmtInfId (схема pain.001.01.06) |
7 |
R |
Id исходного сообщения платежа |
OrgnlGrpInf.OrgnlMsgId |
Должно совпадать с полем в Платеже: Document.CstmrCdtTrfInitn.GrpHdr.MsgId (схема pain.001.01.06) |
8 |
R |
Тип исходного сообщения |
OrgnlGrpInf.OrgnlMsgNmId |
Константа 'pain.001.001.06' |
9 |
R |
Уникальный id запроса на отзыв |
TxInf.CxlId |
- |
10 |
R |
Id исходного платежа |
TxInf.OrgnlInstrId |
Должно совпадать с полем в Платеже: Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.InstrId (схема pain.001.01.06) |
11 |
R |
Сумма отзываемого платежа |
TxInf.OrgnlInstdAmt |
Должно совпадать с полем в Платеже: Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt (схема pain.001.01.06) |
12 |
R |
Код валюты отзываемого платежа |
TxInf.OrgnlInstdAmt@Ccy |
- |
13 |
R |
Номер счета |
TxInf.OrgnlTxRef.DbtrAcct.Id.Othr.Id |
- |
14 |
R |
Признак использования счета |
TxInf.OrgnlTxRef.DbtrAcct.Id.Othr.SchmeNm.Cd |
Константа 'ACC' |
Блок с подписью Document.CstmrPmtCxlReq |
||||
15 |
R |
Подпись |
SplmtryData.Envlp.SgntrSt[1..n] |
- |
Ответ
Ответом является XML-документ, соответствующий схеме camt.029.001.06.
| № | R/ O |
Описание | Путь | Комментарий/ Пример |
|---|---|---|---|---|
Document.RsltnOfInvstgtn |
||||
1 |
R |
Уникальный id сообщения |
Assgnmt.Id |
- |
2 |
R |
SWIFT Альфа-Банка |
Assgnmt.Assgne.Pty.Id.OrgId.AnyBIC.AnyBIC |
Константа |
3 |
R |
БИК банка |
Assgne.Pty.Id.OrgId.Othr.Id |
Константа '044525593' |
4 |
R |
Дата и время создания сообщения |
Assgnmt.CreDtTm |
Формат даты YYYY-MM-DDThh:mm:ss[.mmm]TZD |
5 |
R |
Статус сообщения запроса на отзыв |
Sts.Conf |
CNCL - Запрос выполнен; |
Document.RsltnOfInvstgtn.CxlDtls |
||||
6 |
R |
Идентификатор исходного сообщения |
OrgnlGrpInfAndSts.OrgnlMsgId |
Константа 'camt.055.001.06' |
7 |
R |
Тип исходного сообщения |
OrgnlGrpInfAndSts.OrgnlMsgNmId |
Константа |
8 |
R |
Дата и время создания исходного сообщения |
OrgnlPmtInfAndSts.OrgnlCreDtTm |
Формат даты YYYY-MM-DDThh:mm:ss[.mmm]TZD |
9 |
R |
Статус сообщения |
OrgnlGrpInfAndSts.GrpCxlSts |
ACCR - Запрос выполнен; |
10 |
O |
Код причины присвоения статуса сообщения |
OrgnlGrpInfAndSts.CxlStsRsnInf.Rsn.Cd |
NARR - Описание в поле AddtlInf. |
11 |
O |
Описание причины присвоения статуса |
OrgnlGrpInfAndSts.CxlStsRsnInf.AddtlInf[1…n] |
Таблица с описанием причины присвоения статусов (CNCL, ACCR) и RJCR |
12 |
O |
Id исходного пакета |
OrgnlPmtInfAndSts.OrgnlPmtInfId |
- |
13 |
O |
Статус сообщения |
OrgnlGrpInfAndSts.PmtInfCxlSts |
ACCR - Запрос выполнен; |
14 |
O |
Статус сообщения |
OrgnlPmtInfAndSts.TxInfAndSts.OrgnlInstrId |
ACCR - Запрос выполнен; |
15 |
O |
Код причины присвоения статуса сообщения |
OrgnlPmtInfAndSts.CxlStsRsnInf.Rsn.Cd |
NARR - Описание в поле AddtlInf. |
16 |
O |
Описание причины присвоения статуса |
OrgnlPmtInfAndSts.CxlStsRsnInf.AddtlInf[1…n] |
Таблица с описанием причины присвоения статусов (CNCL, ACCR) и RJCR |
Таблица с описанием причины присвоения статусов (CNCL, ACCR) и RJCR
| Статусы | HTTP код | Описание причины присвоения статуса |
|---|---|---|
CNCL |
200 |
Запрос на отзыв платежа выполнен: платеж отозван |
RJCR |
200 |
Запрос на отзыв платежа не выполнен: платёж не может быть отозван из данного состояния |
RJCR |
208 |
Запрос на отзыв платежа не выполнен: платёж ранее был отклонён |
RJCR |
404 |
Платёж не найден! Проверьте идентификатор(ы) отзываемого платежа |
Таблица кодов ответа
| HTTP код | Тип | Body | Описание |
|---|---|---|---|
200 |
OK |
Запрос на отзыв платежа выполнен: платёж отозван |
Платеж отозван |
200 |
OK |
Запрос на отзыв платежа не выполнен: платёж не может быть отозван из данного состояния |
Платёж не может быть отозван |
208 |
Already Reported |
Запрос на отзыв платежа не выполнен: платёж ранее был отклонён |
Платёж ранее был отклонён |
400 |
Err |
XML does not match schema |
Документ не соответствует схеме |
401 |
Err |
Wrong username or password |
Неверный логин или пароль |
401 |
Err |
User was not found |
Пользователь не найден |
401 |
Err |
Could not find signer by certificate |
По сертификату пользователь не найден |
403 |
Err |
User is disabled |
Пользователь заблокирован |
403 |
Err |
Internal error while verifying permissions |
Ошибка при проверке полномочий |
403 |
Err |
Signer is not allowed to sign this operation type |
У подписанта нет полномочий на такой тип операции |
403 |
Err |
User does not have permission |
Нет прав на выполнение запроса |
403 |
Err |
Certificate is not valid |
Сертификат подписи невалидный |
403 |
Err |
Signer’s warrant is expired |
Доверенность подписанта истекла |
403 |
Err |
Signer’s warrant is disabled |
Доверенность подписанта заблокирована |
403 |
Err |
Number of signatures is not enough for this operation type |
Недостаточно подписей для типа операции |
403 |
Err |
Certificate is disabled |
Сертификат заблокирован |
404 |
Not Found |
Платёж не найден! Проверьте идентификатор(ы) отзываемого платежа |
Платеж по вашим данным не найден. Проверьте идентификатор(ы) исходного сообщения. |
406 |
Err |
The signer certificate is not valid (revoked or not active) |
Сертификат подписанта отозван или невалидный |
406 |
Err |
Signature is missing |
Нет подписи |
406 |
Err |
Signature value is not valid |
Подпись невалидна |
406 |
Err |
Internal sign check state error |
Внутренняя ошибка сервиса |
409 |
Err |
MsgId is not unique |
Id запроса неуникальный |
500 |
Err |
Internal Error |
Внутренняя ошибка приложения |
500 |
Err |
Warrant service error |
Сервис проверки доверенности не отвечает |
502 |
Err |
Bad Gateway |
Ошибочный шлюз |
503 |
Err |
Service Unavailable |
Сервис недоступен |
504 |
Err |
Gateway Timeout |
Шлюз не отвечает |
Пример запроса на отзыв платежа
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.055.001.06">
<CstmrPmtCxlReq>
<Assgnmt>
<!-- Уникальный идентификатор сообщения с запросом -->
<Id>TEST_MSG_2024-03-15-111222333</Id>
<Assgnr>
<Pty>
<!-- Наименование организации -->
<Nm>ООО "Тест Альфа-Линк"</Nm>
<Id>
<OrgId>
<Othr>
<!-- Идентификатор ( ИНН ) -->
<Id>7013602245</Id>
<SchmeNm>
<!-- Код Типа идентификации -->
<Cd>TXID</Cd>
</SchmeNm>
</Othr>
</OrgId>
</Id>
</Pty>
</Assgnr>
<Assgne>
<Agt>
<FinInstnId>
<!-- Наименование Банка -->
<Nm>АО АЛЬФА-БАНК</Nm>
</FinInstnId>
</Agt>
</Assgne>
<!-- Дата и время создания документа -->
<CreDtTm>2024-03-15T16:14:03.105+03:00</CreDtTm>
</Assgnmt>
<Undrlyg>
<OrgnlPmtInfAndCxl>
<!-- Идентификатор пакета отзываемых документов -->
<OrgnlPmtInfId>TEST_PCT_2024-03-15-33221132</OrgnlPmtInfId>
<OrgnlGrpInf>
<!-- Уникальный идентификатор сообщения с отзываемым документом -->
<OrgnlMsgId>TEST_MSG_2024-03-15-33221132</OrgnlMsgId>
<!-- Тип сообщения с отзываемым документом -->
<OrgnlMsgNmId>pain.001.001.06</OrgnlMsgNmId>
</OrgnlGrpInf>
<TxInf>
<!-- Номер документа "Запрос на отзыв" -->
<CxlId>TEST_ID_2024-03-15-43434343</CxlId>
<!-- Идентификатор отзываемого документа -->
<OrgnlInstrId>TEST_PMT_2024-03-15-33221132</OrgnlInstrId>
<!-- Сумма по отзываемому документу в валюте документа/Код валюты -->
<OrgnlInstdAmt Ccy="RUR">100</OrgnlInstdAmt>
<OrgnlTxRef>
<DbtrAcct>
<Id>
<Othr>
<!-- Номер счета -->
<Id>40702978000000000001</Id>
<SchmeNm>
<!-- Код Типа идентификации -->
<Cd>ACC</Cd>
</SchmeNm>
</Othr>
</Id>
</DbtrAcct>
</OrgnlTxRef>
</TxInf>
</OrgnlPmtInfAndCxl>
</Undrlyg>
<SplmtryData>
<Envlp>
<!-- Подпись -->
<SgntrSt>
</SgntrSt>
</Envlp>
</SplmtryData>
</CstmrPmtCxlReq>
</Document>
Пример ответа при успешном отзыве платежа
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.029.001.06">
<RsltnOfInvstgtn>
<Assgnmt>
<Id>1a374fad403f4df2bdd6c307cb2512a3</Id>
<Assgnr>
<Agt>
<FinInstnId>
<BICFI>ALFARUMM</BICFI>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Pty>
<Id>
<OrgId>
<Othr>
<Id>044525593</Id>
</Othr>
</OrgId>
</Id>
</Pty>
</Assgne>
<CreDtTm>2024-03-15T16:20:03.105+03:00</CreDtTm>
</Assgnmt>
<Sts>
<Conf>CNCL</Conf>
</Sts>
<CxlDtls>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>TEST_MSG_2024-03-15-111222333</OrgnlMsgId>
<OrgnlMsgNmId>camt.055.001.06</OrgnlMsgNmId>
<OrgnlCreDtTm>2024-03-15T16:14:03.105+03:00</OrgnlCreDtTm>
<GrpCxlSts>ACCR</GrpCxlSts>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>TEST_PCT_2023-08-31-131401784</OrgnlPmtInfId>
<PmtInfCxlSts>ACCR</PmtInfCxlSts>
<TxInfAndSts>
<OrgnlInstrId>TEST_PMT_2023-08-31-131401784</OrgnlInstrId>
<TxCxlSts>ACCR</TxCxlSts>
<CxlStsRsnInf>
<Rsn>
<Cd>NARR</Cd>
</Rsn>
<AddtlInf>Запрос на отзыв платежа выполнен: платёж отозван</AddtlInf>
</CxlStsRsnInf>
</TxInfAndSts>
</OrgnlPmtInfAndSts>
</CxlDtls>
</RsltnOfInvstgtn>
</Document>
Пример ответа, когда платеж не найден
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document
xmlns="urn:iso:std:iso:20022:tech:xsd:camt.029.001.06">
<RsltnOfInvstgtn>
<Assgnmt>
<Id>72ae0b7246ae4377a82606b5795a82fb</Id>
<Assgnr>
<Agt>
<FinInstnId>
<BICFI>ALFARUMM</BICFI>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Pty>
<Id>
<OrgId>
<Othr>
<Id>044525593</Id>
</Othr>
</OrgId>
</Id>
</Pty>
</Assgne>
<CreDtTm>2024-03-15T16:18:03.105+03:00</CreDtTm>
</Assgnmt>
<Sts>
<Conf>RJCR</Conf>
</Sts>
<CxlDtls>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>time_id:1693476795322</OrgnlMsgId>
<OrgnlMsgNmId>camt.055.001.06</OrgnlMsgNmId>
<OrgnlCreDtTm>2024-03-15T16:14:03.105+03:00</OrgnlCreDtTm>
<GrpCxlSts>RJCR</GrpCxlSts>
<CxlStsRsnInf>
<Rsn>
<Cd>NARR</Cd>
</Rsn>
<AddtlInf>Платёж не найден! Проверьте идентификатор(ы) отзываемого платежа</AddtlInf>
</CxlStsRsnInf>
</OrgnlGrpInfAndSts>
</CxlDtls>
</RsltnOfInvstgtn>
</Document>
Пример ответа, когда платеж был отозван ранее
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document
xmlns="urn:iso:std:iso:20022:tech:xsd:camt.029.001.06">
<RsltnOfInvstgtn>
<Assgnmt>
<Id>be55c9080518484bbce931ad438ffbcb</Id>
<Assgnr>
<Agt>
<FinInstnId>
<BICFI>ALFARUMM</BICFI>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Pty>
<Id>
<OrgId>
<Othr>
<Id>044525593</Id>
</Othr>
</OrgId>
</Id>
</Pty>
</Assgne>
<CreDtTm>2024-03-15T16:16:03.105+03:00</CreDtTm>
</Assgnmt>
<Sts>
<Conf>RJCR</Conf>
</Sts>
<CxlDtls>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>TEST_MSG_2024-03-15-111222333</OrgnlMsgId>
<OrgnlMsgNmId>camt.055.001.06</OrgnlMsgNmId>
<OrgnlCreDtTm>2024-03-15T16:14:03.105+03:00</OrgnlCreDtTm>
<GrpCxlSts>RJCR</GrpCxlSts>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>TEST_PCT_2023-08-31-131300012</OrgnlPmtInfId>
<PmtInfCxlSts>RJCR</PmtInfCxlSts>
<TxInfAndSts>
<OrgnlInstrId>TEST_PMT_2023-08-31-131300012</OrgnlInstrId>
<TxCxlSts>RJCR</TxCxlSts>
<CxlStsRsnInf>
<Rsn>
<Cd>NARR</Cd>
</Rsn>
<AddtlInf>Запрос на отзыв платежа не выполнен: платёж ранее был отклонён</AddtlInf>
</CxlStsRsnInf>
</TxInfAndSts>
</OrgnlPmtInfAndSts>
</CxlDtls>
</RsltnOfInvstgtn>
</Document>