8. Отзыв платежа
URI
PUT: /API/v1/ISO20022/Payments/Recall
XML схема
pacs.004.001.11
Описание схемы
Описание | Путь | Комментарий Пример |
||
---|---|---|---|---|
1 |
R |
Уникальный id сообщения |
Document.PmtRtr.GrpHdr.MsgId |
Указывается идентификатор сообщения присвоенный во внешней системе. |
2 |
R |
Дата и Время создания сообщения |
Document.PmtRtr.GrpHdr.CreDtTm |
Формат даты YYYY-MM-DDThh:mm:ss[.mmm]TZD (В случае, если часовой пояс не указан или указан отличный от московского, то время будет приведено к UTC +3). |
3 |
R |
Количество отзываемых платежей |
Document.PmtRtr.GrpHdr.NbOfTxs |
Константа "1" |
4 |
R |
Метод |
Document.PmtRtr.GrpHdr.SttlmInf.SttlmMtd |
Константа "INDA" |
5 |
R |
Название организации |
Document.PmtRtr.GrpHdr.SttlmInf.InstgRmbrsmntAgt.FinInstnId.Nm |
|
6 |
R |
Номер счета |
Document.PmtRtr.GrpHdr.SttlmInf.InstgRmbrsmntAgt.FinInstnId.Othr.Id |
|
7 |
R |
Признак использования счета |
Document.PmtRtr.GrpHdr.SttlmInf.InstgRmbrsmntAgt.FinInstnId.Othr.SchmeNm.Cd |
Константа "ACC" |
8 |
R |
ИНН |
Document.PmtRtr.GrpHdr.SttlmInf.InstdRmbrsmntAgt.FinInstnId.Othr.Id |
|
9 |
R |
Признак использования ИНН |
Document.PmtRtr.GrpHdr.SttlmInf.InstdRmbrsmntAgt.FinInstnId.Othr.SchmeNm.Сd |
Константа "TXID" |
10 |
R |
Уникальный id запроса на отзыв |
Document.PmtRtr.TxInf.RtrId |
|
11 |
R |
Id исходного сообщения платежа |
Document.PmtRtr.TxInf.OrgnlGrpInf.OrgnlMsgId |
Должно совпадать с полем в Платеже: Document.CstmrCdtTrfInitn.GrpHdr.MsgId (схема pain.001.01.06) |
12 |
R |
Тип исходного сообщения |
Document.PmtRtr.TxInf.OrgnlGrpInf.OrgnlMsgNmId |
Константа "pain.001.001.06" |
13 |
R |
Id исходного пакета платежа |
Document.PmtRtr.TxInf.OrgnlInstrId |
Должно совпадать с полем в Платеже: Document.CstmrCdtTrfInitn.PmtInf.PmtInfId (схема pain.001.01.06) |
14 |
R |
Id исходного платежа |
Document.PmtRtr.TxInf.OrgnlTxId |
Должно совпадать с полем в Платеже: Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.PmtId.InstrId (схема pain.001.01.06) |
15 |
R |
Сумма отзываемого платежа |
Document.PmtRtr.TxInf.RtrdIntrBkSttlmAmt |
Должно совпадать с полем в Платеже: Document.CstmrCdtTrfInitn.PmtInf.CdtTrfTxInf.Amt.InstdAmt (схема pain.001.01.06) |
16 |
R |
Код валюты отзываемого платежа |
Document.PmtRtr.TxInf.RtrdIntrBkSttlmAmt@Ccy |
|
17 |
R |
Подпись |
Document.PmtRtr.TxInf.SplmtryData.Envlp.SgntrSt[1..n] |
Ответ
Ответом является XML-документ, соответствующий схеме pain.002.001.06.
R/O | Описание | Путь | Комментарий | |
---|---|---|---|---|
Document.CstmrPmtStsRpt.GrpHdr |
||||
1 |
R |
Уникальный id сообщения |
MsgId |
|
2 |
R |
Дата и время создания сообщения |
CreDtTm |
Формат даты YYYY-MM-DDThh:mm:ss[.mmm]TZD (В случае, если часовой пояс не указан или указан отличный от московского, то время будет приведено к UTC +3). |
3 |
R |
SWIFT Альфа-Банка |
InitgPty.Id.OrgId.AnyBIC |
константа |
4 |
R |
БИК Альфа-Банка |
InitgPty.Id.OrgId.Othr.Id |
константа |
Document.CstmrPmtStsRpt.OrgnlGrpInfAndSts |
||||
5 |
R |
Идентификатор исходного сообщения |
OrgnlMsgId |
pacs.004.001.11 |
6 |
R |
Тип исходного сообщения |
OrgnlMsgNmId |
константа |
7 |
R |
Дата и время формирования исходного сообщения |
OrgnlCreDtTm |
pacs.004.001.11 |
8 |
R |
Статус исходного сообщения |
GrpSts |
ACSC - Запрос выполнен; |
9 |
R |
Код причины присвоения статуса сообщения |
StsRsnInf.Rsn.Cd |
NARR - Описание в поле AddtlInf. |
10 |
R |
Описание причины присвоения статуса сообщения |
StsRsnInf.AddtlInf |
|
Document.CstmrPmtStsRpt.OrgnlPmtInfAndSts |
||||
11 |
O |
Идентификатор пакета отзываемого платежа |
OrgnlPmtInfId |
pacs.004.001.11 Document.PmtRtr.TxInf.OrgnlInstrId |
12 |
O |
Статус пакета отзываемого платежа |
PmtInfSts |
ACSC - Запрос выполнен; |
13 |
O |
Идентификатор отзываемого платежа |
TxInfAndSts.OrgnlInstrId |
pacs.004.001.11 |
15 |
O |
Статус отзываемого платежа |
TxInfAndSts.TxSts |
ACSC - Запрос выполнен; |
16 |
O |
Код причины присвоения статуса |
TxInfAndSts.StsRsnInf.Rsn.Cd |
NARR - Описание в поле AddtlInf. |
19 |
O |
Описание кода причины присвоения статуса |
TxInfAndSts.StsRsnInf.AddtlInf |
|
20 |
O |
Дата и время присвоения статуса |
TxInfAndSts.AccptncDtTm |
Если платеж был ранее исполнен, то будет передана дата исполнения платежа. |
Таблица с описанием причины присвоения статусов ACSC и RJCT
Статусы | HTTP код | Описание причины присвоения статуса |
---|---|---|
ACSC |
200 |
Запрос на отзыв платежа выполнен: платеж отозван |
ACSC |
201 |
Запрос на отзыв платежа выполнен: идентификатор официального письма в банк указан в header Location |
RJCT |
208 |
Запрос на отзыв платежа не выполнен: платёж ранее был отклонён |
RJCT |
404 |
Платёж не найден! Проверьте идентификатор(ы) отзываемого платежа |
HTTP код | Тип | Body | Описание |
---|---|---|---|
200 |
OK |
Запрос на отзыв платежа выполнен: платёж отозван |
Платеж отозван автоматически |
201 |
Created |
Запрос на отзыв платежа выполнен: идентификатор официального письма в банк указан в header Location |
Для отзыва платежа было отправлено письмо. В header Location сформирован URL |
208 |
Already Reported |
Запрос на отзыв платежа не выполнен: платёж ранее был отклонён |
Платёж ранее был отклонён |
404 |
Not Found |
Платёж не найден! Проверьте идентификатор(ы) отзываемого платежа |
Платеж по вашим данным не найден. Проверьте идентификатор(ы) исходного сообщения. |
401 |
Err |
Wrong username or password |
Неверный логин или пароль |
401 |
Err |
User was not found |
Пользователь не найден |
403 |
Err |
User is disabled |
Пользователь заблокирован |
500 |
Err |
Warrant service error |
Сервис проверки доверенности не отвечает |
403 |
Err |
User does not have permission |
Нет прав на выполнения операции |
406 |
Err |
Signature is missing |
Нет подписи |
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 |
Сертификат заблокирован |
403 |
Err |
The signer certificate is not valid (revoked or not active) |
Сертификат подписанта отозван или невалидный |
406 |
Err |
Signature value is not valid |
Подпись невалидна |
406 |
Err |
Internal sign check state error |
Внутренняя ошибка сервиса |
502 |
Err |
Bad Gateway |
Ошибочный шлюз |
503 |
Err |
Service Unavailable |
Сервис недоступен |
504 |
Err |
Gateway Timeout |
Шлюз не отвечает |
500 |
Err |
Internal Error |
Внутренняя ошибка приложения |
400 |
Err |
XML does not match schema |
Документ не соответствует схеме |
Пример запроса на отзыв платежа
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.004.001.11">
<PmtRtr>
<GrpHdr>
<MsgId>db810eeabf0b43a890f3b9943f2ce7bf</MsgId>
<CreDtTm>2022-07-11T10:12:12</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<SttlmInf>
<SttlmMtd>INDA</SttlmMtd>
<InstgRmbrsmntAgt>
<FinInstnId>
<Nm>ООО "Тест Альфа-Линк"</Nm>
<Othr>
<Id>40702810200000000083</Id>
<SchmeNm>
<Cd>ACC</Cd>
</SchmeNm>
</Othr>
</FinInstnId>
</InstgRmbrsmntAgt>
<InstdRmbrsmntAgt>
<FinInstnId>
<Othr>
<Id>7013602245</Id>
<SchmeNm>
<Cd>TXID</Cd>
</SchmeNm>
</Othr>
</FinInstnId>
</InstdRmbrsmntAgt>
</SttlmInf>
</GrpHdr>
<TxInf>
<RtrId>TEST_ID_2022-07-13-150752711</RtrId>
<OrgnlGrpInf>
<OrgnlMsgId>TEST_MSG_2022-07-13-938247209</OrgnlMsgId>
<OrgnlMsgNmId>pain.001.001.06</OrgnlMsgNmId>
</OrgnlGrpInf>
<OrgnlInstrId>TEST_PCT_2022-07-13-938247209</OrgnlInstrId>
<OrgnlTxId>TEST_PMT_2022-07-13-938247209</OrgnlTxId>
<RtrdIntrBkSttlmAmt Ccy="RUR">100</RtrdIntrBkSttlmAmt>
</TxInf>
<SplmtryData>
<Envlp>
<SgntrSt>
</SgntrSt>
</Envlp>
</SplmtryData>
</PmtRtr>
</Document>
Пример ответа при автоматическом отзыве платежа
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.06">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId>660de3219004491397a5904ea486fd0e</MsgId>
<CreDtTm>2022-08-10T11:36:11.977+03:00</CreDtTm>
<InitgPty>
<Id>
<OrgId>
<AnyBIC>ALFARUMM</AnyBIC>
<Othr>
<Id>044525593</Id>
</Othr>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>TEST_MSG_2022-08-10-476153300</OrgnlMsgId>
<OrgnlMsgNmId>pacs.004.001.11</OrgnlMsgNmId>
<OrgnlCreDtTm>2022-08-10T11:36:11.882+03:00</OrgnlCreDtTm>
<GrpSts>ACSC</GrpSts>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>TEST_PCT_2022-08-10-564604871</OrgnlPmtInfId>
<PmtInfSts>ACSC</PmtInfSts>
<TxInfAndSts>
<OrgnlInstrId>TEST_PMT_2022-08-10-564604871</OrgnlInstrId>
<TxSts>ACSC</TxSts>
<StsRsnInf>
<Rsn>
<Cd>NARR</Cd>
</Rsn>
<AddtlInf>Запрос на отзыв платежа выполнен: платёж отозван</AddtlInf>
</StsRsnInf>
<AccptncDtTm>2022-08-10T11:36:11.907+03:00</AccptncDtTm>
</TxInfAndSts>
</OrgnlPmtInfAndSts>
</CstmrPmtStsRpt>
</Document>
Пример ответа при отзыве платежа письмом
Headers ... Location = /API/v1/ISO20022/Letters/TEST_MSG_2022-07-21-170531660636652 ...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.06">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId>7c1af40c934b4cad809a645ded03d081</MsgId>
<CreDtTm>2022-08-10T11:33:41.112+03:00</CreDtTm>
<InitgPty>
<Id>
<OrgId>
<AnyBIC>ALFARUMM</AnyBIC>
<Othr>
<Id>044525593</Id>
</Othr>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>TEST_MSG_2022-08-10-476153318</OrgnlMsgId>
<OrgnlMsgNmId>pacs.004.001.11</OrgnlMsgNmId>
<OrgnlCreDtTm>2022-08-10T11:33:40.629+03:00</OrgnlCreDtTm>
<GrpSts>ACSC</GrpSts>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>TEST_PCT_2022-08-10-999494950</OrgnlPmtInfId>
<PmtInfSts>ACSC</PmtInfSts>
<TxInfAndSts>
<OrgnlInstrId>TEST_PMT_2022-08-10-999494950</OrgnlInstrId>
<TxSts>ACSC</TxSts>
<StsRsnInf>
<Rsn>
<Cd>NARR</Cd>
</Rsn>
<AddtlInf>Запрос на отзыв платежа выполнен: идентификатор официального письма в банк указан в header Location</AddtlInf>
</StsRsnInf>
<AccptncDtTm>2022-08-10T11:32:50.476+03:00</AccptncDtTm>
</TxInfAndSts>
</OrgnlPmtInfAndSts>
</CstmrPmtStsRpt>
</Document>
Пример ответа, когда платеж не найден
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.06">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId>56a130f1bedd4bd38be5b9b7dedcb24d</MsgId>
<CreDtTm>2022-08-09T09:55:54.524+03:00</CreDtTm>
<InitgPty>
<Id>
<OrgId>
<AnyBIC>ALFARUMM</AnyBIC>
<Othr>
<Id>044525593</Id>
</Othr>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>time_id:1660028154520</OrgnlMsgId>
<OrgnlMsgNmId>pacs.004.001.11</OrgnlMsgNmId>
<OrgnlCreDtTm>2022-08-09T09:55:54.520+03:00</OrgnlCreDtTm>
<GrpSts>RJCT</GrpSts>
<StsRsnInf>
<Rsn>
<Cd>NARR</Cd>
</Rsn>
<AddtlInf>Платёж не найден! Проверьте идентификатор(ы) отзываемого платежа</AddtlInf>
</StsRsnInf>
</OrgnlGrpInfAndSts>
</CstmrPmtStsRpt>
</Document>